GRPC Core
9.0.0
|
#include <resolving_lb_policy.h>
Data Structures | |
class | ResolverResultHandler |
class | ResolvingControlHelper |
Public Types | |
typedef bool(* | ProcessResolverResultCallback) (void *user_data, const Resolver::Result &result, const char **lb_policy_name, RefCountedPtr< LoadBalancingPolicy::Config > *lb_policy_config, grpc_error **service_config_error) |
Public Member Functions | |
ResolvingLoadBalancingPolicy (Args args, TraceFlag *tracer, grpc_core::UniquePtr< char > target_uri, ProcessResolverResultCallback process_resolver_result, void *process_resolver_result_user_data) | |
virtual const char * | name () const override |
Returns the name of the LB policy. More... | |
void | UpdateLocked (UpdateArgs) override |
Updates the policy with new data from the resolver. More... | |
void | ExitIdleLocked () override |
Tries to enter a READY connectivity state. More... | |
void | ResetBackoffLocked () override |
Resets connection backoff. More... | |
![]() | |
LoadBalancingPolicy (Args args, intptr_t initial_refcount=1) | |
virtual | ~LoadBalancingPolicy () |
LoadBalancingPolicy (const LoadBalancingPolicy &)=delete | |
LoadBalancingPolicy & | operator= (const LoadBalancingPolicy &)=delete |
grpc_pollset_set * | interested_parties () const |
void | Orphan () override |
![]() | |
InternallyRefCounted (const InternallyRefCounted &)=delete | |
InternallyRefCounted & | operator= (const InternallyRefCounted &)=delete |
![]() | |
Orphanable (const Orphanable &)=delete | |
Orphanable & | operator= (const Orphanable &)=delete |
Additional Inherited Members | |
![]() | |
Combiner * | combiner () const |
ChannelControlHelper * | channel_control_helper () const |
![]() | |
InternallyRefCounted (TraceFlagT *trace_flag=nullptr, intptr_t initial_refcount=1) | |
virtual | ~InternallyRefCounted ()=default |
RefCountedPtr< LoadBalancingPolicy > | Ref () GRPC_MUST_USE_RESULT |
RefCountedPtr< LoadBalancingPolicy > | Ref (const DebugLocation &location, const char *reason) GRPC_MUST_USE_RESULT |
void | Unref () |
void | Unref (const DebugLocation &location, const char *reason) |
![]() | |
Orphanable () | |
virtual | ~Orphanable () |
typedef bool(* grpc_core::ResolvingLoadBalancingPolicy::ProcessResolverResultCallback) (void *user_data, const Resolver::Result &result, const char **lb_policy_name, RefCountedPtr< LoadBalancingPolicy::Config > *lb_policy_config, grpc_error **service_config_error) |
grpc_core::ResolvingLoadBalancingPolicy::ResolvingLoadBalancingPolicy | ( | Args | args, |
TraceFlag * | tracer, | ||
grpc_core::UniquePtr< char > | target_uri, | ||
ProcessResolverResultCallback | process_resolver_result, | ||
void * | process_resolver_result_user_data | ||
) |
|
overridevirtual |
Tries to enter a READY connectivity state.
This is a no-op by default, since most LB policies never go into IDLE state.
Reimplemented from grpc_core::LoadBalancingPolicy.
|
inlineoverridevirtual |
Returns the name of the LB policy.
Implements grpc_core::LoadBalancingPolicy.
|
overridevirtual |
Resets connection backoff.
Implements grpc_core::LoadBalancingPolicy.
|
inlineoverridevirtual |
Updates the policy with new data from the resolver.
Will be invoked immediately after LB policy is constructed, and then again whenever the resolver returns a new result.
Implements grpc_core::LoadBalancingPolicy.