#include <grpc/support/port_platform.h>#include <inttypes.h>#include <stdlib.h>#include <algorithm>#include <atomic>#include <cmath>#include <map>#include <memory>#include <string>#include <type_traits>#include <utility>#include <vector>#include "absl/base/attributes.h"#include "absl/base/thread_annotations.h"#include "absl/container/inlined_vector.h"#include "absl/memory/memory.h"#include "absl/status/status.h"#include "absl/status/statusor.h"#include "absl/strings/numbers.h"#include "absl/strings/str_cat.h"#include "absl/strings/string_view.h"#include "absl/types/optional.h"#include "xxhash.h"#include <grpc/impl/codegen/connectivity_state.h>#include <grpc/impl/codegen/grpc_types.h>#include <grpc/support/log.h>#include "src/core/ext/filters/client_channel/client_channel.h"#include "src/core/ext/filters/client_channel/lb_policy.h"#include "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h"#include "src/core/ext/filters/client_channel/lb_policy_factory.h"#include "src/core/ext/filters/client_channel/lb_policy_registry.h"#include "src/core/ext/filters/client_channel/subchannel_interface.h"#include "src/core/lib/address_utils/sockaddr_utils.h"#include "src/core/lib/debug/trace.h"#include "src/core/lib/gpr/string.h"#include "src/core/lib/gprpp/debug_location.h"#include "src/core/lib/gprpp/orphanable.h"#include "src/core/lib/gprpp/ref_counted.h"#include "src/core/lib/gprpp/ref_counted_ptr.h"#include "src/core/lib/gprpp/sync.h"#include "src/core/lib/gprpp/unique_type_name.h"#include "src/core/lib/iomgr/closure.h"#include "src/core/lib/iomgr/error.h"#include "src/core/lib/iomgr/exec_ctx.h"#include "src/core/lib/iomgr/work_serializer.h"#include "src/core/lib/json/json.h"#include "src/core/lib/resolver/server_address.h"#include "src/core/lib/transport/connectivity_state.h"
Go to the source code of this file.
Namespaces | |
| grpc_core | |
Macros | |
| #define | XXH_INLINE_ALL |
Functions | |
| void | grpc_core::GrpcLbPolicyRingHashInit () |
| void | grpc_core::GrpcLbPolicyRingHashShutdown () |
| void | grpc_core::ParseRingHashLbConfig (const Json &json, size_t *min_ring_size, size_t *max_ring_size, std::vector< grpc_error_handle > *error_list) |
| UniqueTypeName | grpc_core::RequestHashAttributeName () |
Variables | |
| TraceFlag | grpc_core::grpc_lb_ring_hash_trace (false, "ring_hash_lb") |
| #define XXH_INLINE_ALL |
Definition at line 43 of file ring_hash.cc.
|
private |
Definition at line 194 of file ring_hash.cc.
|
private |
Definition at line 342 of file ring_hash.cc.
|
private |
Definition at line 353 of file ring_hash.cc.
|
private |
Definition at line 202 of file ring_hash.cc.
| uint64_t hash |
Definition at line 284 of file ring_hash.cc.
|
private |
Definition at line 272 of file ring_hash.cc.
|
private |
Definition at line 278 of file ring_hash.cc.
|
private |
Definition at line 357 of file ring_hash.cc.
|
private |
Definition at line 138 of file ring_hash.cc.
|
private |
Definition at line 137 of file ring_hash.cc.
|
mutableprivate |
Definition at line 204 of file ring_hash.cc.
|
private |
Definition at line 265 of file ring_hash.cc.
|
private |
Definition at line 263 of file ring_hash.cc.
|
private |
Definition at line 264 of file ring_hash.cc.
|
private |
Definition at line 266 of file ring_hash.cc.
|
private |
Definition at line 346 of file ring_hash.cc.
|
private |
Definition at line 268 of file ring_hash.cc.
|
private |
Definition at line 341 of file ring_hash.cc.
Definition at line 359 of file ring_hash.cc.
| RingHashSubchannelData* subchannel |
Definition at line 285 of file ring_hash.cc.
|
private |
Definition at line 294 of file ring_hash.cc.
|
private |
Definition at line 343 of file ring_hash.cc.