Classes | Namespaces | Macros | Variables
subchannel.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/subchannel.h"
#include <inttypes.h>
#include <limits.h>
#include <algorithm>
#include <cstring>
#include <memory>
#include <new>
#include <type_traits>
#include <utility>
#include "absl/status/statusor.h"
#include <grpc/grpc.h>
#include <grpc/slice.h>
#include <grpc/status.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/health/health_check_client.h"
#include "src/core/ext/filters/client_channel/proxy_mapper_registry.h"
#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h"
#include "src/core/ext/filters/client_channel/subchannel_stream_client.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/backoff/backoff.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/channel/channel_stack_builder_impl.h"
#include "src/core/lib/channel/channel_trace.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/event_engine/event_engine_factory.h"
#include "src/core/lib/gpr/alloc.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/surface/channel_init.h"
#include "src/core/lib/surface/channel_stack_type.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/error_utils.h"
Include dependency graph for subchannel.cc:

Go to the source code of this file.

Classes

class  grpc_core::Subchannel::AsyncWatcherNotifierLocked
 
class  grpc_core::Subchannel::ConnectedSubchannelStateWatcher
 
class  grpc_core::Subchannel::HealthWatcherMap::HealthWatcher
 

Namespaces

 grpc_core
 

Macros

#define CALL_STACK_TO_SUBCHANNEL_CALL(callstack)
 
#define GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS   1
 
#define GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER   1.6
 
#define GRPC_SUBCHANNEL_RECONNECT_JITTER   0.2
 
#define GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS   120
 
#define GRPC_SUBCHANNEL_RECONNECT_MIN_TIMEOUT_SECONDS   20
 
#define INTERNAL_REF_BITS   16
 
#define STRONG_REF_MASK   (~(gpr_atm)((1 << INTERNAL_REF_BITS) - 1))
 
#define SUBCHANNEL_CALL_TO_CALL_STACK(call)
 

Variables

TraceFlag grpc_core::grpc_trace_subchannel (false, "subchannel")
 
DebugOnlyTraceFlag grpc_core::grpc_trace_subchannel_refcount (false, "subchannel_refcount")
 

Macro Definition Documentation

◆ CALL_STACK_TO_SUBCHANNEL_CALL

#define CALL_STACK_TO_SUBCHANNEL_CALL (   callstack)
Value:
(SubchannelCall*)(((char*)(call_stack)) - \
GPR_ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(SubchannelCall)))

Definition at line 82 of file subchannel.cc.

◆ GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS

#define GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS   1

Definition at line 72 of file subchannel.cc.

◆ GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER

#define GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER   1.6

Definition at line 73 of file subchannel.cc.

◆ GRPC_SUBCHANNEL_RECONNECT_JITTER

#define GRPC_SUBCHANNEL_RECONNECT_JITTER   0.2

Definition at line 76 of file subchannel.cc.

◆ GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS

#define GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS   120

Definition at line 75 of file subchannel.cc.

◆ GRPC_SUBCHANNEL_RECONNECT_MIN_TIMEOUT_SECONDS

#define GRPC_SUBCHANNEL_RECONNECT_MIN_TIMEOUT_SECONDS   20

Definition at line 74 of file subchannel.cc.

◆ INTERNAL_REF_BITS

#define INTERNAL_REF_BITS   16

Definition at line 68 of file subchannel.cc.

◆ STRONG_REF_MASK

#define STRONG_REF_MASK   (~(gpr_atm)((1 << INTERNAL_REF_BITS) - 1))

Definition at line 69 of file subchannel.cc.

◆ SUBCHANNEL_CALL_TO_CALL_STACK

#define SUBCHANNEL_CALL_TO_CALL_STACK (   call)
Value:
(grpc_call_stack*)((char*)(call) + \
GPR_ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(SubchannelCall)))

Definition at line 79 of file subchannel.cc.

call
FilterStackCall * call
Definition: call.cc:750
GPR_ROUND_UP_TO_ALIGNMENT_SIZE
#define GPR_ROUND_UP_TO_ALIGNMENT_SIZE(x)
Given a size, round up to the next multiple of sizeof(void*).
Definition: src/core/lib/gpr/alloc.h:25
grpc_call_stack
Definition: channel_stack.h:233


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:33