|
const LoadBalancingPolicy::BackendMetricData * | ParseBackendMetricData (const grpc_slice &serialized_load_report, Arena *arena) |
|
void | RegisterHttpProxyMapper () |
|
grpc_channel_args * | ModifyGrpclbBalancerChannelArgs (const ServerAddressList &addresses, grpc_channel_args *args) |
| Makes any necessary modifications to args for use in the grpclb balancer channel. More...
|
|
grpc_channel * | CreateGrpclbBalancerChannel (const char *target_uri, const grpc_channel_args &args) |
|
grpc_grpclb_request * | grpc_grpclb_request_create (const char *lb_service_name, upb_arena *arena) |
| Create a request for a gRPC LB service under lb_service_name. More...
|
|
grpc_grpclb_request * | grpc_grpclb_load_report_request_create (GrpcLbClientStats *client_stats, upb_arena *arena) |
|
grpc_slice | grpc_grpclb_request_encode (const grpc_grpclb_request *request, upb_arena *arena) |
| Protocol Buffers v3-encode request. More...
|
|
const grpc_grpclb_initial_response * | grpc_grpclb_initial_response_parse (const grpc_slice &encoded_grpc_grpclb_response, upb_arena *arena) |
| Parse (ie, decode) the bytes in encoded_grpc_grpclb_response as a grpc_grpclb_initial_response. More...
|
|
grpc_grpclb_serverlist * | grpc_grpclb_response_parse_serverlist (const grpc_slice &encoded_grpc_grpclb_response) |
| Parse the list of servers from an encoded grpc_grpclb_response. More...
|
|
void | grpc_grpclb_destroy_serverlist (grpc_grpclb_serverlist *serverlist) |
| Destroy serverlist. More...
|
|
grpc_grpclb_serverlist * | grpc_grpclb_serverlist_copy (const grpc_grpclb_serverlist *sl) |
| Return a copy of sl. More...
|
|
bool | grpc_grpclb_serverlist_equals (const grpc_grpclb_serverlist *lhs, const grpc_grpclb_serverlist *rhs) |
|
bool | grpc_grpclb_server_equals (const grpc_grpclb_server *lhs, const grpc_grpclb_server *rhs) |
|
grpc_millis | grpc_grpclb_duration_to_millis (const grpc_grpclb_duration *duration_pb) |
|
std::unique_ptr< GrpcPolledFdFactory > | NewGrpcPolledFdFactory (Combiner *combiner) |
|
grpc_slice | XdsEdsRequestCreateAndEncode (const char *server_name, const XdsBootstrap::Node *node, const char *build_version) |
|
grpc_error * | XdsEdsResponseDecodeAndParse (const grpc_slice &encoded_response, EdsUpdate *update) |
|
grpc_slice | XdsLrsRequestCreateAndEncode (const char *server_name, const XdsBootstrap::Node *node, const char *build_version) |
|
grpc_slice | XdsLrsRequestCreateAndEncode (const char *server_name, XdsClientStats *client_stats) |
|
grpc_error * | XdsLrsResponseDecodeAndParse (const grpc_slice &encoded_response, grpc_core::UniquePtr< char > *cluster_name, grpc_millis *load_reporting_interval) |
|
grpc_channel_args * | ModifyXdsChannelArgs (grpc_channel_args *args) |
| Makes any necessary modifications to args for use in the xds balancer channel. More...
|
|
grpc_channel * | CreateXdsChannel (const XdsBootstrap &bootstrap, const grpc_channel_args &args) |
|
void | grpc_http2_set_write_timestamps_callback (void(*fn)(void *, grpc_core::Timestamps *, grpc_error *error)) |
|
void | grpc_http2_set_fn_get_copied_context (void *(*fn)(void *)) |
|
void | SetGlobalConfigEnvErrorFunction (GlobalConfigEnvErrorFunctionType func) |
|
int | JoinHostPort (grpc_core::UniquePtr< char > *out, const char *host, int port) |
| Given a host and port, creates a newly-allocated string of the form "host:port" or "[ho:st]:port", depending on whether the host contains colons like an IPv6 literal. More...
|
|
bool | SplitHostPort (StringView name, StringView *host, StringView *port) |
| Given a name in the form "host:port" or "[ho:st]:port", split into hostname and port number. More...
|
|
bool | SplitHostPort (StringView name, grpc_core::UniquePtr< char > *host, grpc_core::UniquePtr< char > *port) |
|
template<typename T , typename... Args> |
std::unique_ptr< T > | MakeUnique (Args &&... args) |
|
template<typename T , typename... Args> |
OrphanablePtr< T > | MakeOrphanable (Args &&... args) |
|
template<typename T , typename... Args> |
RefCountedPtr< T > | MakeRefCounted (Args &&... args) |
|
bool | operator== (StringView lhs, StringView rhs) |
|
bool | operator!= (StringView lhs, StringView rhs) |
|
StringView | StringViewFromSlice (const grpc_slice &slice) |
|
grpc_core::UniquePtr< char > | StringViewToCString (const StringView sv) |
|
int | StringViewCmp (const StringView lhs, const StringView rhs) |
|
void | grpc_tcp_set_write_timestamps_callback (void(*fn)(void *, grpc_core::Timestamps *, grpc_error *error)) |
| Sets the callback function to call when timestamps for a write are collected. More...
|
|
| GPR_TLS_CLASS_DEF (ExecCtx::exec_ctx_) |
|
| GPR_TLS_CLASS_DEF (ApplicationCallbackExecCtx::callback_exec_ctx_) |
|
void | grpc_executor_global_init () |
|
void | grpc_errqueue_init () |
|
grpc_error * | ValidateStsCredentialsOptions (const grpc_sts_credentials_options *options, grpc_uri **sts_url_out) |
|
grpc_slice | LoadSystemRootCerts () |
|
grpc_status_code | TlsFetchKeyMaterials (const grpc_core::RefCountedPtr< grpc_tls_key_materials_config > &key_materials_config, const grpc_tls_credentials_options &options, grpc_ssl_certificate_config_reload_status *reload_status) |
| – Util function to fetch SPIFFE server/channel credentials. More...
|
|
RefCountedPtr< Handshaker > | SecurityHandshakerCreate (tsi_handshaker *handshaker, grpc_security_connector *connector, const grpc_channel_args *args) |
| Creates a security handshaker using handshaker. More...
|
|
void | SecurityRegisterHandshakerFactories () |
| Registers security handshaker factories. More...
|
|
grpc_arg | CreateTargetAuthorityTableChannelArg (TargetAuthorityTable *table) |
| Returns a channel argument containing table. More...
|
|
TargetAuthorityTable * | FindTargetAuthorityTableInArgs (const grpc_channel_args *args) |
| Returns the target authority table from args or nullptr. More...
|
|
const char * | ConnectivityStateName (grpc_connectivity_state state) |
|
uint64_t | StaticMetadataInitCanary () |
|
|
TraceFlag | grpc_client_channel_call_trace (false, "client_channel_call") |
|
TraceFlag | grpc_client_channel_routing_trace (false, "client_channel_routing") |
|
TraceFlag | grpc_health_check_client_trace (false, "health_check_client") |
|
DebugOnlyTraceFlag | grpc_trace_lb_policy_refcount (false, "lb_policy_refcount") |
|
TraceFlag | grpc_lb_glb_trace (false, "glb") |
|
const char | kGrpcLbClientStatsMetadataKey [] = "grpclb_client_stats" |
|
const char | kGrpcLbLbTokenMetadataKey [] = "lb-token" |
|
TraceFlag | grpc_lb_pick_first_trace (false, "pick_first") |
|
TraceFlag | grpc_lb_round_robin_trace (false, "round_robin") |
|
TraceFlag | grpc_cds_lb_trace (false, "cds_lb") |
|
TraceFlag | grpc_lb_xds_trace (false, "xds") |
|
TraceFlag | grpc_trace_subchannel (false, "subchannel") |
|
DebugOnlyTraceFlag | grpc_trace_subchannel_refcount (false, "subchannel_refcount") |
|
TraceFlag | grpc_subchannel_pool_trace (false, "subchannel_pool") |
|
TraceFlag | grpc_xds_client_trace (false, "xds_client") |
|
TraceFlag | xds_client_trace |
|
TraceFlag | grpc_trace_client_idle_filter (false, "client_idle_filter") |
|
TraceFlag | grpc_handshaker_trace (false, "handshaker") |
|
DebugOnlyTraceFlag | grpc_call_combiner_trace (false, "call_combiner") |
|
TraceFlag | executor_trace (false, "executor") |
|
DebugOnlyTraceFlag | grpc_thread_pool_trace (false, "thread_pool") |
|
DebugOnlyTraceFlag | grpc_logical_thread_trace (false, "logical_thread") |
|
grpc_slice_refcount | kNoopRefcount (grpc_slice_refcount::Type::NOP) |
|
uint32_t | g_hash_seed |
|
TraceFlag | grpc_connectivity_state_trace (false, "connectivity_state") |
|
const StaticMetadataSlice * | g_static_metadata_slice_table = nullptr |
|
StaticSliceRefcount * | g_static_metadata_slice_refcounts = nullptr |
|
StaticMetadata * | g_static_mdelem_table = nullptr |
|
grpc_mdelem * | g_static_mdelem_manifested = nullptr |
|
constexpr uint64_t | kGrpcStaticMetadataInitCanary = 0xCAFEF00DC0FFEE11L |
|
Round Robin Policy.
Weak hash table implementation.
Hash table implementation.
Internal thread interface.
Before every pick, the get_next_ready_subchannel_index_locked function returns the p->subchannel_list->subchannels index for next subchannel, respecting the relative order of the addresses provided upon creation or updates. Note however that updates will start picking from the beginning of the updated list.
This implementation uses open addressing (https://en.wikipedia.org/wiki/Open_addressing) with linear probing (https://en.wikipedia.org/wiki/Linear_probing).
The keys are grpc_slice objects. The values can be any type.
Hash tables are intentionally immutable, to avoid the need for locking.
This entries in this table are weak: an entry may be removed at any time due to a number of reasons: memory pressure, hash collisions, etc.
The keys are grpc_slice objects. The values are of arbitrary type.
This class is thread unsafe. It's the caller's responsibility to ensure proper locking when accessing its methods.
Given a host and port, creates a newly-allocated string of the form "host:port" or "[ho:st]:port", depending on whether the host contains colons like an IPv6 literal.
If the host is already bracketed, then additional brackets will not be added.
Usage is similar to gpr_asprintf: returns the number of bytes written (excluding the final '\0'), and *out points to a string.
In the unlikely event of an error, returns -1 and sets *out to NULL.
Given a name in the form "host:port" or "[ho:st]:port", split into hostname and port number.
There are two variants of this method: 1) StringView output: port and host are returned as views on name. 2) char* output: port and host are copied into newly allocated strings.
Prefer variant (1) over (2), because no allocation or copy is performed in variant (1). Use (2) only when interacting with C API that mandate null-terminated strings.
Return true on success, false on failure. Guarantees *host and *port are cleared on failure.