Go to the documentation of this file.
17 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_H
18 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_H
27 #include <type_traits>
31 #include "absl/status/status.h"
32 #include "absl/status/statusor.h"
33 #include "absl/strings/string_view.h"
34 #include "absl/types/optional.h"
35 #include "absl/types/variant.h"
133 virtual std::vector<std::pair<std::string, std::string>>
173 virtual void Start() = 0;
202 std::unique_ptr<SubchannelCallTrackerInterface>
tracker =
nullptr)
288 std::unique_ptr<SubchannelPicker>) = 0;
310 virtual const char*
name()
const = 0;
366 virtual const char*
name()
const = 0;
444 #endif // GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_H
virtual void Finish(FinishArgs args)=0
MetadataInterface * initial_metadata
virtual ~SubchannelCallTrackerInterface()=default
PickResult Pick(PickArgs args) override
TraceSeverity
Adds a trace message associated with the channel.
const grpc_channel_args * args
std::string resolution_note
RefCountedPtr< SubchannelInterface > subchannel
The subchannel to be used for the call. Must be non-null.
~Config() override=default
grpc_pollset_set * interested_parties() const
const grpc_channel_args * args
Channel args.
RefCountedPtr< LoadBalancingPolicy > parent_
virtual RefCountedPtr< SubchannelInterface > CreateSubchannel(ServerAddress address, const grpc_channel_args &args)=0
Creates a new subchannel with the specified channel args.
virtual void AddTraceEvent(TraceSeverity severity, absl::string_view message)=0
SubchannelPicker()=default
struct grpc_pollset_set grpc_pollset_set
absl::string_view path
The path of the call. Indicates the RPC service and method name.
virtual void UpdateState(grpc_connectivity_state state, const absl::Status &status, std::unique_ptr< SubchannelPicker >)=0
virtual ~ChannelControlHelper()=default
virtual void UpdateLocked(UpdateArgs)=0
PickResult(Complete complete)
The result of picking a subchannel for a call.
virtual PickResult Pick(PickArgs args)=0
RefCountedPtr< Config > config
The LB policy config.
ChannelControlHelper()=default
std::unique_ptr< SubchannelCallTrackerInterface > subchannel_call_tracker
virtual ~SubchannelPicker()=default
DebugOnlyTraceFlag grpc_trace_lb_policy_refcount(false, "lb_policy_refcount")
virtual const BackendMetricData * GetBackendMetricData()=0
Arguments used when picking a subchannel for a call.
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
std::shared_ptr< WorkSerializer > work_serializer_
Work Serializer under which LB policy actions take place.
virtual void ExitIdleLocked()
std::unique_ptr< ChannelControlHelper > channel_control_helper_
Channel control helper.
Poll< absl::StatusOr< std::tuple< T... > > > fail()
ChannelControlHelper * channel_control_helper() const
void grpc_channel_args_destroy(grpc_channel_args *a)
virtual ~BackendMetricAccessor()=default
virtual const char * name() const =0
QueuePicker(RefCountedPtr< LoadBalancingPolicy > parent)
BackendMetricAccessor * backend_metric_accessor
virtual void * Alloc(size_t size)=0
~LoadBalancingPolicy() override
Args used to instantiate an LB policy.
PickResult Pick(PickArgs) override
std::shared_ptr< WorkSerializer > work_serializer
The work_serializer under which all LB policy calls will be run.
virtual void Start()=0
Called when a subchannel call is started after an LB pick.
virtual absl::string_view GetAuthority()=0
Returns the channel authority.
MetadataInterface * trailing_metadata
virtual void ShutdownLocked()=0
Shuts down the policy.
TransientFailurePicker(absl::Status status)
absl::StatusOr< ServerAddressList > addresses
UpdateArgs & operator=(const UpdateArgs &other)
LoadBalancingPolicy(Args args, intptr_t initial_refcount=1)
std::unique_ptr< ChannelControlHelper > channel_control_helper
std::shared_ptr< WorkSerializer > work_serializer() const
LoadBalancingPolicy & operator=(const LoadBalancingPolicy &)=delete
grpc_pollset_set * interested_parties_
Owned pointer to interested parties in load balancing decisions.
virtual void RequestReresolution()=0
Requests that the resolver re-resolve.
virtual ~CallState()=default
void Fail(const char *msg)
absl::variant< Complete, Queue, Fail, Drop > result
virtual void ResetBackoffLocked()=0
Resets connection backoff.
virtual const char * name() const =0
Returns the name of the LB policy.
Complete(RefCountedPtr< SubchannelInterface > sc, std::unique_ptr< SubchannelCallTrackerInterface > tracker=nullptr)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:15