Go to the documentation of this file.
17 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H
18 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H
28 #include "absl/base/thread_annotations.h"
29 #include "absl/status/status.h"
30 #include "absl/types/optional.h"
169 :
public RefCounted<ConnectivityStateWatcherInterface> {
183 virtual void OnConnectivityStateChange() = 0;
206 std::deque<ConnectivityStateChange> connectivity_state_queue_
251 void WatchConnectivityState(
258 void CancelConnectivityStateWatch(
281 void AddDataProducer(DataProducerInterface* data_producer)
283 void RemoveDataProducer(DataProducerInterface* data_producer)
295 void AddWatcherLocked(
326 void AddWatcherLocked(
330 void RemoveWatcherLocked(
const std::string& health_check_service_name,
346 std::map<std::string, OrphanablePtr<HealthWatcher>>
map_;
426 #endif // GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H
~ConnectivityStateWatcherList()
RefCountedPtr< channelz::SubchannelNode > channelz_node_
RefCountedPtr< ConnectedSubchannel > connected_subchannel_
void StartTransportStreamOpBatch(grpc_transport_stream_op_batch *batch)
const grpc_channel_args * args() const
struct grpc_pollset_set grpc_pollset_set
RingHashSubchannelData * subchannel
grpc_channel_args * args_
std::map< ConnectivityStateWatcherInterface *, RefCountedPtr< ConnectivityStateWatcherInterface > > watchers_
void MaybeInterceptRecvTrailingMetadata(grpc_transport_stream_op_batch *batch)
#define ABSL_GUARDED_BY(x)
grpc_channel_args * args_
void NotifyLocked(grpc_connectivity_state state, const absl::Status &status) ABSL_EXCLUSIVE_LOCKS_REQUIRED(&Subchannel grpc_connectivity_state CheckConnectivityStateLocked(Subchannel *subchannel, const std::string &health_check_service_name) ABSL_EXCLUSIVE_LOCKS_REQUIRED(&Subchannel voi ShutdownLocked)()
grpc_metadata_batch * recv_trailing_metadata_
RefCountedPtr< SubchannelCall > Ref() GRPC_MUST_USE_RESULT
#define T(upbtypeconst, upbtype, ctype, default_value)
grpc_call_stack * GetCallStack()
std::map< std::string, OrphanablePtr< HealthWatcher > > map_
RefCountedPtr< grpc_security_connector > connector_
const grpc_channel_args * channel_args() const
TestInstance::Result Result
CallCombiner * call_combiner
static void RecvTrailingMetadataReady(void *arg, grpc_error_handle error)
std::map< SubchannelInterface::ConnectivityStateWatcherInterface *, WatcherWrapper * > watchers_
#define ABSL_EXCLUSIVE_LOCKS_REQUIRED(...)
grpc_closure recv_trailing_metadata_ready_
grpc_pollset_set * pollset_set() const
grpc_closure * after_call_stack_destroy_
static RefCountedPtr< SubchannelCall > Create(Args args, grpc_error_handle *error)
void SetAfterCallStackDestroy(grpc_closure *closure)
void StartWatch(grpc_pollset_set *interested_parties, OrphanablePtr< ConnectivityStateWatcherInterface > watcher)
RefCountedPtr< ConnectedSubchannel > connected_subchannel() ABSL_LOCKS_EXCLUDED(mu_)
grpc_polling_entity * pollent
grpc_transport_stream_op_batch * batch
ConnectedSubchannel(grpc_channel_stack *channel_stack, const grpc_channel_args *args, RefCountedPtr< channelz::SubchannelNode > channelz_subchannel)
channelz::SubchannelNode * channelz_subchannel() const
void Ping(grpc_closure *on_initiate, grpc_closure *on_ack)
grpc_connectivity_state state
~ConnectedSubchannel() override
grpc_channel_stack * channel_stack() const
grpc_closure * original_recv_trailing_metadata_
RefCountedPtr< ConnectedSubchannel > connected_subchannel
RefCountedPtr< channelz::SubchannelNode > channelz_subchannel_
#define ABSL_LOCKS_EXCLUDED(...)
gpr_cycle_counter start_time
std::unique_ptr< T, Deleter > OrphanablePtr
GRPC_CUSTOM_UTIL_STATUS Status
void channelz(grpc_end2end_test_config config)
grpc_channel_stack * channel_stack_
grpc_connectivity_state state_
size_t GetInitialCallSizeEstimate() const
static void Destroy(void *arg, grpc_error_handle error)
grpc_call_context_element * context
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:23