GRPC Core  9.0.0
Namespaces | Data Structures | Typedefs | Enumerations | Functions | Variables
grpc_core Namespace Reference

Round Robin Policy. More...

Namespaces

 channelz
 
 chttp2
 
 internal
 
 manual_ctor_impl
 
 testing
 

Data Structures

class  AllocatedMetadata
 
class  ApplicationCallbackExecCtx
 Application-callback execution context. More...
 
class  Arena
 
class  AsyncConnectivityStateWatcherInterface
 
class  Atomic
 
class  BackOff
 Implementation of the backoff mechanism described in doc/connection-backoff.md. More...
 
class  BdpEstimator
 
class  ByteStream
 
class  ByteStreamCache
 
struct  CallbackWrapper
 
class  CallCombiner
 
class  CallCombinerClosureList
 
struct  CdsUpdate
 
class  Chttp2Connector
 
class  Chttp2IncomingByteStream
 
class  Chttp2InsecureClientChannelFactory
 
class  Chttp2SecureClientChannelFactory
 
class  ClientChannelFactory
 
class  Closure
 
class  Combiner
 
class  CondVar
 
class  ConnectedSubchannel
 
struct  ConnectionMetrics
 
class  ConnectivityStateTracker
 
class  ConnectivityStateWatcherInterface
 
class  ConnectivityWatcher
 
class  ContextList
 A list of RPC Contexts. More...
 
class  DebugLocation
 
class  DefaultDeleteChar
 
class  DefaultSslRootStore
 
struct  EdsUpdate
 
class  ExecCtx
 Execution context. More...
 
class  Executor
 
struct  ExternallyManagedSlice
 
class  FakeResolver
 
class  FakeResolverResponseGenerator
 A mechanism for generating responses for the fake resolver. More...
 
class  Fork
 
class  GlobalConfigEnv
 
class  GlobalConfigEnvBool
 
class  GlobalConfigEnvInt32
 
class  GlobalConfigEnvString
 
class  GlobalSubchannelPool
 
struct  grpc_grpclb_server
 
struct  grpc_grpclb_server_ip_address
 
struct  grpc_grpclb_serverlist
 
class  GrpcLbClientStats
 
class  GrpcPolledFd
 
class  GrpcPolledFdFactory
 
class  HandshakeManager
 
class  Handshaker
 Handshaker. More...
 
struct  HandshakerArgs
 Handshakers are used to perform initial handshakes on a connection before the client sends the initial request. More...
 
class  HandshakerFactory
 
class  HandshakerRegistry
 
class  HealthCheckClient
 
class  InfLenFIFOQueue
 
class  InlinedVector
 
class  InternallyRefCounted
 
class  InternedMetadata
 
struct  InternedSlice
 
struct  InternedSliceRefcount
 
class  LoadBalancingPolicy
 Interface for load balancing policies. More...
 
class  LoadBalancingPolicyFactory
 
class  LoadBalancingPolicyRegistry
 
class  LocalSubchannelPool
 
class  LockedMultiProducerSingleConsumerQueue
 
class  LockfreeEvent
 
class  LogicalThread
 
struct  ManagedMemorySlice
 
class  ManualConstructor
 
class  MessageSizeParsedConfig
 
class  MessageSizeParser
 
class  MovedStringSliceRefCount
 grpc_slice_from_moved_(string|buffer) ref count . More...
 
class  MPMCQueueInterface
 
class  MultiProducerSingleConsumerQueue
 
class  Mutex
 
class  MutexLock
 
class  NewSliceRefcount
 
class  NewWithLenSliceRefcount
 
class  NonPolymorphicRefCount
 
class  Optional
 
class  Orphanable
 
class  OrphanableDelete
 
class  PemKeyCertPair
 
class  PidController
 
class  PolymorphicManualConstructor
 
class  PolymorphicRefCount
 
class  ProxyMapperInterface
 
class  ProxyMapperRegistry
 
class  RefCount
 
class  RefCounted
 
class  RefcountedMdBase
 
class  RefCountedPtr
 
struct  RefCountedPtrLess
 
class  ReleasableMutexLock
 
class  Resolver
 Interface for name resolution. More...
 
struct  ResolverArgs
 
class  ResolverFactory
 
class  ResolverRegistry
 
class  ResolvingLoadBalancingPolicy
 
class  RuSliceRefcount
 
class  ServerAddress
 
class  ServiceConfig
 
struct  SetResponseClosureArg
 
class  SliceBufferByteStream
 
class  SliceHashTable
 
class  SliceWeakHashTable
 
class  SpiffeChannelSecurityConnector
 
class  SpiffeServerSecurityConnector
 
class  StaticMetadata
 
struct  StaticMetadataCtx
 
struct  StaticMetadataSlice
 
struct  StaticSliceRefcount
 
struct  StringLess
 
class  StringView
 
class  Subchannel
 
class  SubchannelCall
 
class  SubchannelConnector
 
class  SubchannelData
 
class  SubchannelInterface
 
class  SubchannelKey
 
class  SubchannelList
 
class  SubchannelPoolInterface
 
class  TcpServerFdHandler
 
class  Thread
 
class  ThreadPool
 
class  ThreadPoolInterface
 
class  ThreadPoolWorker
 
struct  ThreadState
 
struct  Timestamp
 
struct  Timestamps
 
class  TracedBuffer
 TracedBuffer is a class to keep track of timestamps for a specific buffer in the TCP layer. More...
 
class  TraceFlag
 
class  TraceFlagList
 
struct  UnmanagedMemorySlice
 
struct  UserData
 
class  XdsBootstrap
 
class  XdsClient
 
class  XdsClientStats
 
class  XdsDropConfig
 
class  XdsLocalityName
 
class  XdsPriorityListUpdate
 

Typedefs

typedef grpc_lb_v1_LoadBalanceRequest grpc_grpclb_request
 
typedef grpc_lb_v1_LoadBalanceResponse grpc_grpclb_response
 
typedef grpc_lb_v1_InitialLoadBalanceResponse grpc_grpclb_initial_response
 
typedef google_protobuf_Duration grpc_grpclb_duration
 
typedef google_protobuf_Timestamp grpc_grpclb_timestamp
 
typedef InlinedVector< ServerAddress, 1 > ServerAddressList
 
typedef TraceFlag DebugOnlyTraceFlag
 
typedef void(* GlobalConfigEnvErrorFunctionType) (const char *error_message)
 
template<typename T >
using UniquePtr = std::unique_ptr< T, DefaultDeleteChar >
 
template<typename T , typename Deleter = OrphanableDelete>
using OrphanablePtr = std::unique_ptr< T, Deleter >
 
typedef SliceHashTable< grpc_core::UniquePtr< char > > TargetAuthorityTable
 A hash table mapping target addresses to authorities. More...
 
typedef void(* destroy_user_data_func) (void *data)
 

Enumerations

enum  HandshakerType { HANDSHAKER_CLIENT = 0, HANDSHAKER_SERVER, NUM_HANDSHAKER_TYPES }
 
enum  MemoryOrder {
  MemoryOrder::RELAXED = std::memory_order_relaxed, MemoryOrder::CONSUME = std::memory_order_consume, MemoryOrder::ACQUIRE = std::memory_order_acquire, MemoryOrder::RELEASE = std::memory_order_release,
  MemoryOrder::ACQ_REL = std::memory_order_acq_rel, MemoryOrder::SEQ_CST = std::memory_order_seq_cst
}
 
enum  ExecutorType { ExecutorType::DEFAULT = 0, ExecutorType::RESOLVER, ExecutorType::NUM_EXECUTORS }
 
enum  ExecutorJobType { ExecutorJobType::SHORT = 0, ExecutorJobType::LONG, ExecutorJobType::NUM_JOB_TYPES }
 

Functions

const LoadBalancingPolicy::BackendMetricDataParseBackendMetricData (const grpc_slice &serialized_load_report, Arena *arena)
 
void RegisterHttpProxyMapper ()
 
grpc_channel_argsModifyGrpclbBalancerChannelArgs (const ServerAddressList &addresses, grpc_channel_args *args)
 Makes any necessary modifications to args for use in the grpclb balancer channel. More...
 
grpc_channelCreateGrpclbBalancerChannel (const char *target_uri, const grpc_channel_args &args)
 
grpc_grpclb_requestgrpc_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_requestgrpc_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_responsegrpc_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_serverlistgrpc_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_serverlistgrpc_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< GrpcPolledFdFactoryNewGrpcPolledFdFactory (Combiner *combiner)
 
grpc_slice XdsEdsRequestCreateAndEncode (const char *server_name, const XdsBootstrap::Node *node, const char *build_version)
 
grpc_errorXdsEdsResponseDecodeAndParse (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_errorXdsLrsResponseDecodeAndParse (const grpc_slice &encoded_response, grpc_core::UniquePtr< char > *cluster_name, grpc_millis *load_reporting_interval)
 
grpc_channel_argsModifyXdsChannelArgs (grpc_channel_args *args)
 Makes any necessary modifications to args for use in the xds balancer channel. More...
 
grpc_channelCreateXdsChannel (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_errorValidateStsCredentialsOptions (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< HandshakerSecurityHandshakerCreate (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...
 
TargetAuthorityTableFindTargetAuthorityTableInArgs (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 ()
 

Variables

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 StaticMetadataSliceg_static_metadata_slice_table = nullptr
 
StaticSliceRefcountg_static_metadata_slice_refcounts = nullptr
 
StaticMetadatag_static_mdelem_table = nullptr
 
grpc_mdelemg_static_mdelem_manifested = nullptr
 
constexpr uint64_t kGrpcStaticMetadataInitCanary = 0xCAFEF00DC0FFEE11L
 

Detailed Description

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.

Typedef Documentation

◆ DebugOnlyTraceFlag

◆ destroy_user_data_func

typedef void(* grpc_core::destroy_user_data_func) (void *data)

◆ GlobalConfigEnvErrorFunctionType

typedef void(* grpc_core::GlobalConfigEnvErrorFunctionType) (const char *error_message)

◆ grpc_grpclb_duration

◆ grpc_grpclb_initial_response

◆ grpc_grpclb_request

◆ grpc_grpclb_response

◆ grpc_grpclb_timestamp

◆ OrphanablePtr

template<typename T , typename Deleter = OrphanableDelete>
using grpc_core::OrphanablePtr = typedef std::unique_ptr<T, Deleter>

◆ ServerAddressList

◆ TargetAuthorityTable

A hash table mapping target addresses to authorities.

◆ UniquePtr

template<typename T >
using grpc_core::UniquePtr = typedef std::unique_ptr<T, DefaultDeleteChar>

Enumeration Type Documentation

◆ ExecutorJobType

Enumerator
SHORT 
LONG 
NUM_JOB_TYPES 

◆ ExecutorType

Enumerator
DEFAULT 
RESOLVER 
NUM_EXECUTORS 

◆ HandshakerType

Enumerator
HANDSHAKER_CLIENT 
HANDSHAKER_SERVER 
NUM_HANDSHAKER_TYPES 

◆ MemoryOrder

Enumerator
RELAXED 
CONSUME 
ACQUIRE 
RELEASE 
ACQ_REL 
SEQ_CST 

Function Documentation

◆ ConnectivityStateName()

const char * grpc_core::ConnectivityStateName ( grpc_connectivity_state  state)

◆ CreateGrpclbBalancerChannel()

grpc_channel * grpc_core::CreateGrpclbBalancerChannel ( const char *  target_uri,
const grpc_channel_args args 
)

◆ CreateTargetAuthorityTableChannelArg()

grpc_arg grpc_core::CreateTargetAuthorityTableChannelArg ( TargetAuthorityTable table)

Returns a channel argument containing table.

◆ CreateXdsChannel()

grpc_channel * grpc_core::CreateXdsChannel ( const XdsBootstrap bootstrap,
const grpc_channel_args args 
)

◆ FindTargetAuthorityTableInArgs()

TargetAuthorityTable * grpc_core::FindTargetAuthorityTableInArgs ( const grpc_channel_args args)

Returns the target authority table from args or nullptr.

◆ GPR_TLS_CLASS_DEF() [1/2]

grpc_core::GPR_TLS_CLASS_DEF ( ExecCtx::exec_ctx_  )

◆ GPR_TLS_CLASS_DEF() [2/2]

grpc_core::GPR_TLS_CLASS_DEF ( ApplicationCallbackExecCtx::callback_exec_ctx_  )

◆ grpc_errqueue_init()

void grpc_core::grpc_errqueue_init ( )

◆ grpc_executor_global_init()

void grpc_core::grpc_executor_global_init ( )

◆ grpc_grpclb_destroy_serverlist()

void grpc_core::grpc_grpclb_destroy_serverlist ( grpc_grpclb_serverlist serverlist)

Destroy serverlist.

◆ grpc_grpclb_duration_to_millis()

grpc_millis grpc_core::grpc_grpclb_duration_to_millis ( const grpc_grpclb_duration duration_pb)

◆ grpc_grpclb_initial_response_parse()

const grpc_grpclb_initial_response * grpc_core::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.

◆ grpc_grpclb_load_report_request_create()

grpc_grpclb_request * grpc_core::grpc_grpclb_load_report_request_create ( GrpcLbClientStats client_stats,
upb_arena *  arena 
)

◆ grpc_grpclb_request_create()

grpc_grpclb_request * grpc_core::grpc_grpclb_request_create ( const char *  lb_service_name,
upb_arena *  arena 
)

Create a request for a gRPC LB service under lb_service_name.

lb_service_name should be alive when returned request is being used.

◆ grpc_grpclb_request_encode()

grpc_slice grpc_core::grpc_grpclb_request_encode ( const grpc_grpclb_request request,
upb_arena *  arena 
)

Protocol Buffers v3-encode request.

◆ grpc_grpclb_response_parse_serverlist()

grpc_grpclb_serverlist * grpc_core::grpc_grpclb_response_parse_serverlist ( const grpc_slice encoded_grpc_grpclb_response)

Parse the list of servers from an encoded grpc_grpclb_response.

◆ grpc_grpclb_server_equals()

bool grpc_core::grpc_grpclb_server_equals ( const grpc_grpclb_server lhs,
const grpc_grpclb_server rhs 
)

◆ grpc_grpclb_serverlist_copy()

grpc_grpclb_serverlist * grpc_core::grpc_grpclb_serverlist_copy ( const grpc_grpclb_serverlist sl)

Return a copy of sl.

The caller is responsible for calling grpc_grpclb_destroy_serverlist on the returned copy.

◆ grpc_grpclb_serverlist_equals()

bool grpc_core::grpc_grpclb_serverlist_equals ( const grpc_grpclb_serverlist lhs,
const grpc_grpclb_serverlist rhs 
)

◆ grpc_http2_set_fn_get_copied_context()

void grpc_core::grpc_http2_set_fn_get_copied_context ( void *(*)(void *)  fn)

◆ grpc_http2_set_write_timestamps_callback()

void grpc_core::grpc_http2_set_write_timestamps_callback ( void(*)(void *, grpc_core::Timestamps *, grpc_error *error)  fn)

◆ grpc_tcp_set_write_timestamps_callback()

void grpc_core::grpc_tcp_set_write_timestamps_callback ( void(*)(void *, grpc_core::Timestamps *, grpc_error *error)  fn)

Sets the callback function to call when timestamps for a write are collected.

The callback does not own a reference to error.

◆ JoinHostPort()

int grpc_core::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.

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.

◆ LoadSystemRootCerts()

grpc_slice grpc_core::LoadSystemRootCerts ( )

◆ MakeOrphanable()

template<typename T , typename... Args>
OrphanablePtr<T> grpc_core::MakeOrphanable ( Args &&...  args)
inline

◆ MakeRefCounted()

template<typename T , typename... Args>
RefCountedPtr<T> grpc_core::MakeRefCounted ( Args &&...  args)
inline

◆ MakeUnique()

template<typename T , typename... Args>
std::unique_ptr<T> grpc_core::MakeUnique ( Args &&...  args)
inline

◆ ModifyGrpclbBalancerChannelArgs()

grpc_channel_args * grpc_core::ModifyGrpclbBalancerChannelArgs ( const ServerAddressList addresses,
grpc_channel_args args 
)

Makes any necessary modifications to args for use in the grpclb balancer channel.

Takes ownership of args.

Caller takes ownership of the returned args.

◆ ModifyXdsChannelArgs()

grpc_channel_args * grpc_core::ModifyXdsChannelArgs ( grpc_channel_args args)

Makes any necessary modifications to args for use in the xds balancer channel.

Takes ownership of args.

Caller takes ownership of the returned args.

◆ NewGrpcPolledFdFactory()

std::unique_ptr<GrpcPolledFdFactory> grpc_core::NewGrpcPolledFdFactory ( Combiner combiner)

◆ operator!=()

bool grpc_core::operator!= ( StringView  lhs,
StringView  rhs 
)
inline

◆ operator==()

bool grpc_core::operator== ( StringView  lhs,
StringView  rhs 
)
inline

◆ ParseBackendMetricData()

const LoadBalancingPolicy::BackendMetricData * grpc_core::ParseBackendMetricData ( const grpc_slice serialized_load_report,
Arena arena 
)

◆ RegisterHttpProxyMapper()

void grpc_core::RegisterHttpProxyMapper ( )

◆ SecurityHandshakerCreate()

RefCountedPtr< Handshaker > grpc_core::SecurityHandshakerCreate ( tsi_handshaker handshaker,
grpc_security_connector connector,
const grpc_channel_args args 
)

Creates a security handshaker using handshaker.

◆ SecurityRegisterHandshakerFactories()

void grpc_core::SecurityRegisterHandshakerFactories ( )

Registers security handshaker factories.

◆ SetGlobalConfigEnvErrorFunction()

void grpc_core::SetGlobalConfigEnvErrorFunction ( GlobalConfigEnvErrorFunctionType  func)

◆ SplitHostPort() [1/2]

bool grpc_core::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.

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.

◆ SplitHostPort() [2/2]

bool grpc_core::SplitHostPort ( StringView  name,
grpc_core::UniquePtr< char > *  host,
grpc_core::UniquePtr< char > *  port 
)

◆ StaticMetadataInitCanary()

uint64_t grpc_core::StaticMetadataInitCanary ( )

◆ StringViewCmp()

int grpc_core::StringViewCmp ( const StringView  lhs,
const StringView  rhs 
)
inline

◆ StringViewFromSlice()

StringView grpc_core::StringViewFromSlice ( const grpc_slice slice)
inline

◆ StringViewToCString()

grpc_core::UniquePtr<char> grpc_core::StringViewToCString ( const StringView  sv)
inline

◆ TlsFetchKeyMaterials()

grpc_status_code grpc_core::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.

◆ ValidateStsCredentialsOptions()

grpc_error * grpc_core::ValidateStsCredentialsOptions ( const grpc_sts_credentials_options options,
grpc_uri **  sts_url_out 
)

◆ XdsEdsRequestCreateAndEncode()

grpc_slice grpc_core::XdsEdsRequestCreateAndEncode ( const char *  server_name,
const XdsBootstrap::Node node,
const char *  build_version 
)

◆ XdsEdsResponseDecodeAndParse()

grpc_error * grpc_core::XdsEdsResponseDecodeAndParse ( const grpc_slice encoded_response,
EdsUpdate update 
)

◆ XdsLrsRequestCreateAndEncode() [1/2]

grpc_slice grpc_core::XdsLrsRequestCreateAndEncode ( const char *  server_name,
const XdsBootstrap::Node node,
const char *  build_version 
)

◆ XdsLrsRequestCreateAndEncode() [2/2]

grpc_slice grpc_core::XdsLrsRequestCreateAndEncode ( const char *  server_name,
XdsClientStats client_stats 
)

◆ XdsLrsResponseDecodeAndParse()

grpc_error * grpc_core::XdsLrsResponseDecodeAndParse ( const grpc_slice encoded_response,
grpc_core::UniquePtr< char > *  cluster_name,
grpc_millis load_reporting_interval 
)

Variable Documentation

◆ executor_trace

TraceFlag grpc_core::executor_trace(false, "executor")

◆ g_hash_seed

uint32_t grpc_core::g_hash_seed

◆ g_static_mdelem_manifested

grpc_mdelem * grpc_core::g_static_mdelem_manifested = nullptr

◆ g_static_mdelem_table

StaticMetadata * grpc_core::g_static_mdelem_table = nullptr

◆ g_static_metadata_slice_refcounts

StaticSliceRefcount * grpc_core::g_static_metadata_slice_refcounts = nullptr

◆ g_static_metadata_slice_table

const StaticMetadataSlice * grpc_core::g_static_metadata_slice_table = nullptr

◆ grpc_call_combiner_trace

DebugOnlyTraceFlag grpc_core::grpc_call_combiner_trace

◆ grpc_cds_lb_trace

TraceFlag grpc_core::grpc_cds_lb_trace(false, "cds_lb")

◆ grpc_client_channel_call_trace

TraceFlag grpc_core::grpc_client_channel_call_trace(false, "client_channel_call")

◆ grpc_client_channel_routing_trace

TraceFlag grpc_core::grpc_client_channel_routing_trace(false, "client_channel_routing")

◆ grpc_connectivity_state_trace

TraceFlag grpc_core::grpc_connectivity_state_trace

◆ grpc_handshaker_trace

TraceFlag grpc_core::grpc_handshaker_trace(false, "handshaker")

◆ grpc_health_check_client_trace

TraceFlag grpc_core::grpc_health_check_client_trace(false, "health_check_client")

◆ grpc_lb_glb_trace

TraceFlag grpc_core::grpc_lb_glb_trace(false, "glb")

◆ grpc_lb_pick_first_trace

TraceFlag grpc_core::grpc_lb_pick_first_trace(false, "pick_first")

◆ grpc_lb_round_robin_trace

TraceFlag grpc_core::grpc_lb_round_robin_trace(false, "round_robin")

◆ grpc_lb_xds_trace

TraceFlag grpc_core::grpc_lb_xds_trace(false, "xds")

◆ grpc_logical_thread_trace

DebugOnlyTraceFlag grpc_core::grpc_logical_thread_trace

◆ grpc_subchannel_pool_trace

TraceFlag grpc_core::grpc_subchannel_pool_trace

◆ grpc_thread_pool_trace

DebugOnlyTraceFlag grpc_core::grpc_thread_pool_trace

◆ grpc_trace_client_idle_filter

TraceFlag grpc_core::grpc_trace_client_idle_filter(false, "client_idle_filter")

◆ grpc_trace_lb_policy_refcount

DebugOnlyTraceFlag grpc_core::grpc_trace_lb_policy_refcount

◆ grpc_trace_subchannel

TraceFlag grpc_core::grpc_trace_subchannel(false, "subchannel")

◆ grpc_trace_subchannel_refcount

DebugOnlyTraceFlag grpc_core::grpc_trace_subchannel_refcount(false, "subchannel_refcount")

◆ grpc_xds_client_trace

TraceFlag grpc_core::grpc_xds_client_trace(false, "xds_client")

◆ kGrpcLbClientStatsMetadataKey

const char grpc_core::kGrpcLbClientStatsMetadataKey = "grpclb_client_stats"

◆ kGrpcLbLbTokenMetadataKey

const char grpc_core::kGrpcLbLbTokenMetadataKey = "lb-token"

◆ kGrpcStaticMetadataInitCanary

constexpr uint64_t grpc_core::kGrpcStaticMetadataInitCanary = 0xCAFEF00DC0FFEE11L

◆ kNoopRefcount

grpc_slice_refcount grpc_core::kNoopRefcount

◆ xds_client_trace

TraceFlag grpc_core::xds_client_trace