GRPC Core  9.0.0
Data Structures | Public Types | Public Member Functions
grpc_core::ResolvingLoadBalancingPolicy Class Reference

#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...
 
- Public Member Functions inherited from grpc_core::LoadBalancingPolicy
 LoadBalancingPolicy (Args args, intptr_t initial_refcount=1)
 
virtual ~LoadBalancingPolicy ()
 
 LoadBalancingPolicy (const LoadBalancingPolicy &)=delete
 
LoadBalancingPolicyoperator= (const LoadBalancingPolicy &)=delete
 
grpc_pollset_setinterested_parties () const
 
void Orphan () override
 
- Public Member Functions inherited from grpc_core::InternallyRefCounted< LoadBalancingPolicy >
 InternallyRefCounted (const InternallyRefCounted &)=delete
 
InternallyRefCountedoperator= (const InternallyRefCounted &)=delete
 
- Public Member Functions inherited from grpc_core::Orphanable
 Orphanable (const Orphanable &)=delete
 
Orphanableoperator= (const Orphanable &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from grpc_core::LoadBalancingPolicy
Combinercombiner () const
 
ChannelControlHelperchannel_control_helper () const
 
- Protected Member Functions inherited from grpc_core::InternallyRefCounted< LoadBalancingPolicy >
 InternallyRefCounted (TraceFlagT *trace_flag=nullptr, intptr_t initial_refcount=1)
 
virtual ~InternallyRefCounted ()=default
 
RefCountedPtr< LoadBalancingPolicyRef () GRPC_MUST_USE_RESULT
 
RefCountedPtr< LoadBalancingPolicyRef (const DebugLocation &location, const char *reason) GRPC_MUST_USE_RESULT
 
void Unref ()
 
void Unref (const DebugLocation &location, const char *reason)
 
- Protected Member Functions inherited from grpc_core::Orphanable
 Orphanable ()
 
virtual ~Orphanable ()
 

Member Typedef Documentation

◆ ProcessResolverResultCallback

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)

Constructor & Destructor Documentation

◆ ResolvingLoadBalancingPolicy()

grpc_core::ResolvingLoadBalancingPolicy::ResolvingLoadBalancingPolicy ( Args  args,
TraceFlag tracer,
grpc_core::UniquePtr< char >  target_uri,
ProcessResolverResultCallback  process_resolver_result,
void *  process_resolver_result_user_data 
)

Member Function Documentation

◆ ExitIdleLocked()

void grpc_core::ResolvingLoadBalancingPolicy::ExitIdleLocked ( )
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.

◆ name()

virtual const char* grpc_core::ResolvingLoadBalancingPolicy::name ( ) const
inlineoverridevirtual

Returns the name of the LB policy.

Implements grpc_core::LoadBalancingPolicy.

◆ ResetBackoffLocked()

void grpc_core::ResolvingLoadBalancingPolicy::ResetBackoffLocked ( )
overridevirtual

Resets connection backoff.

Implements grpc_core::LoadBalancingPolicy.

◆ UpdateLocked()

void grpc_core::ResolvingLoadBalancingPolicy::UpdateLocked ( UpdateArgs  )
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.


The documentation for this class was generated from the following files: