19 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_XDS_XDS_API_H
20 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_XDS_XDS_API_H
68 return !(*
this == other);
71 void Add(LocalityMap::Locality locality);
73 const LocalityMap*
Find(uint32_t priority)
const;
76 return priority < priorities_.size();
80 bool empty()
const {
return priorities_.empty(); }
81 size_t size()
const {
return priorities_.size(); }
85 return static_cast<uint32_t
>(priorities_.size()) - 1;
100 return strcmp(
name.get(), other.
name.get()) == 0 &&
111 uint32_t parts_per_million) {
120 return drop_category_list_;
124 return drop_category_list_ == other.drop_category_list_;
127 return !(*
this == other);
154 const char* build_version);
164 const char* build_version);
void emplace_back(Args &&... args)
Definition: inlined_vector.h:145
Definition: ref_counted.h:248
Definition: ref_counted_ptr.h:35
Definition: xds_client_stats.h:93
bool ShouldDrop(const grpc_core::UniquePtr< char > **category_name) const
Definition: xds_api.cc:91
void AddCategory(grpc_core::UniquePtr< char > name, uint32_t parts_per_million)
Definition: xds_api.h:110
bool operator!=(const XdsDropConfig &other) const
Definition: xds_api.h:126
InlinedVector< DropCategory, 2 > DropCategoryList
Definition: xds_api.h:108
const DropCategoryList & drop_category_list() const
Definition: xds_api.h:119
bool operator==(const XdsDropConfig &other) const
Definition: xds_api.h:123
bool Contains(uint32_t priority) const
Definition: xds_api.h:75
uint32_t LowestPriority() const
Definition: xds_api.h:84
bool operator==(const XdsPriorityListUpdate &other) const
Definition: xds_api.cc:56
const LocalityMap * Find(uint32_t priority) const
Definition: xds_api.cc:76
bool operator!=(const XdsPriorityListUpdate &other) const
Definition: xds_api.h:67
size_t size() const
Definition: xds_api.h:81
void Add(LocalityMap::Locality locality)
Definition: xds_api.cc:67
bool empty() const
Definition: xds_api.h:80
int64_t grpc_millis
Definition: exec_ctx.h:35
Round Robin Policy.
Definition: backend_metric.cc:24
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
grpc_slice XdsEdsRequestCreateAndEncode(const char *server_name, const XdsBootstrap::Node *node, const char *build_version)
Definition: xds_api.cc:202
grpc_error * XdsEdsResponseDecodeAndParse(const grpc_slice &encoded_response, EdsUpdate *update)
Definition: xds_api.cc:347
grpc_slice XdsLrsRequestCreateAndEncode(const char *server_name, const XdsBootstrap::Node *node, const char *build_version)
Definition: xds_api.cc:428
grpc_error * XdsLrsResponseDecodeAndParse(const grpc_slice &encoded_response, grpc_core::UniquePtr< char > *cluster_name, grpc_millis *load_reporting_interval)
Definition: xds_api.cc:545
Definition: xds_api.h:140
grpc_core::UniquePtr< char > lrs_load_reporting_server_name
Definition: xds_api.h:148
grpc_core::UniquePtr< char > eds_service_name
Definition: xds_api.h:143
Definition: xds_api.h:134
bool drop_all
Definition: xds_api.h:137
XdsPriorityListUpdate priority_list_update
Definition: xds_api.h:135
RefCountedPtr< XdsDropConfig > drop_config
Definition: xds_api.h:136
Definition: xds_bootstrap.h:47
bool operator==(const DropCategory &other) const
Definition: xds_api.h:99
grpc_core::UniquePtr< char > name
Definition: xds_api.h:104
const uint32_t parts_per_million
Definition: xds_api.h:105
Definition: xds_client_stats.h:38
bool operator()(const Locality &lhs, const Locality &rhs) const
Definition: xds_api.h:45
bool operator==(const Locality &other) const
Definition: xds_api.h:38
RefCountedPtr< XdsLocalityName > name
Definition: xds_api.h:50
uint32_t priority
Definition: xds_api.h:53
uint32_t lb_weight
Definition: xds_api.h:52
ServerAddressList serverlist
Definition: xds_api.h:51
size_t size() const
Definition: xds_api.h:60
std::map< RefCountedPtr< XdsLocalityName >, Locality, XdsLocalityName::Less > localities
Definition: xds_api.h:63
bool Contains(const RefCountedPtr< XdsLocalityName > &name) const
Definition: xds_api.h:56
Definition: error_internal.h:39
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice.h:60