#include <internal.h>
Public Member Functions | |
grpc_chttp2_transport (const grpc_channel_args *channel_args, grpc_endpoint *ep, bool is_client) | |
~grpc_chttp2_transport () | |
Definition at line 238 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_transport::grpc_chttp2_transport | ( | const grpc_channel_args * | channel_args, |
grpc_endpoint * | ep, | ||
bool | is_client | ||
) |
Definition at line 483 of file chttp2_transport.cc.
grpc_chttp2_transport::~grpc_chttp2_transport | ( | ) |
Definition at line 233 of file chttp2_transport.cc.
void(* grpc_chttp2_transport::accept_stream_cb) (void *user_data, grpc_transport *transport, const void *server_data) |
Definition at line 289 of file src/core/ext/transport/chttp2/transport/internal.h.
void* grpc_chttp2_transport::accept_stream_cb_user_data |
Definition at line 291 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_stream** grpc_chttp2_transport::accepting_stream = nullptr |
address to place a newly accepted stream - set and unset by grpc_chttp2_parsing_accept_stream; used by init_stream to publish the accepted server stream
Definition at line 286 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::ReclamationSweep grpc_chttp2_transport::active_reclamation |
Definition at line 250 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_transport grpc_chttp2_transport::base |
Definition at line 243 of file src/core/ext/transport/chttp2/transport/internal.h.
bool grpc_chttp2_transport::bdp_ping_blocked |
Definition at line 385 of file src/core/ext/transport/chttp2/transport/internal.h.
If start_bdp_ping_locked has been called
Definition at line 411 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::benign_reclaimer_locked |
benign cleanup closure
Definition at line 404 of file src/core/ext/transport/chttp2/transport/internal.h.
have we scheduled a benign cleanup?
Definition at line 400 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::RefCountedPtr<grpc_core::channelz::SocketNode> grpc_chttp2_transport::channelz_socket |
Definition at line 438 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::ContextList* grpc_chttp2_transport::cl = nullptr |
Definition at line 437 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_error_handle grpc_chttp2_transport::close_transport_on_writes_finished = GRPC_ERROR_NONE |
Definition at line 393 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_error_handle grpc_chttp2_transport::closed_with_error = GRPC_ERROR_NONE |
has the upper layer closed the transport?
Definition at line 263 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::Combiner* grpc_chttp2_transport::combiner |
Definition at line 252 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_deframe_transport_state grpc_chttp2_transport::deframe_state = GRPC_DTS_CLIENT_PREFIX_0 |
Definition at line 366 of file src/core/ext/transport/chttp2/transport/internal.h.
is the transport destroying itself?
Definition at line 261 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::destructive_reclaimer_locked |
destructive cleanup closure
Definition at line 406 of file src/core/ext/transport/chttp2/transport/internal.h.
have we scheduled a destructive cleanup?
Definition at line 402 of file src/core/ext/transport/chttp2/transport/internal.h.
are the local settings dirty and need to be sent?
Definition at line 317 of file src/core/ext/transport/chttp2/transport/internal.h.
uint8_t grpc_chttp2_transport::endpoint_reading = 1 |
is there a read request to the endpoint outstanding?
Definition at line 266 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_endpoint* grpc_chttp2_transport::ep |
Definition at line 245 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::expect_continuation_stream_id = 0 |
Definition at line 371 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::finish_bdp_ping_locked |
Definition at line 389 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::finish_keepalive_ping_locked |
Cousure to run when the keepalive ping ack is received
Definition at line 420 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::chttp2::TransportFlowControl grpc_chttp2_transport::flow_control |
Definition at line 359 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::force_send_settings = 1 << GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE |
bitmask of setting indexes to send out Hack: it's common for implementations to assume 65536 bytes initial send window – this should by rights be 0
Definition at line 323 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_error_handle grpc_chttp2_transport::goaway_error = GRPC_ERROR_NONE |
Set to a grpc_error object if a goaway frame is received. By default, set to GRPC_ERROR_NONE
Definition at line 312 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_goaway_parser grpc_chttp2_transport::goaway_parser |
parser for goaway frames
Definition at line 357 of file src/core/ext/transport/chttp2/transport/internal.h.
Definition at line 409 of file src/core/ext/transport/chttp2/transport/internal.h.
uint8_t grpc_chttp2_transport::header_eof = 0 |
Definition at line 369 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::HPackCompressor grpc_chttp2_transport::hpack_compressor |
hpack encoding
Definition at line 299 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::HPackParser grpc_chttp2_transport::hpack_parser |
parser for headers
Definition at line 348 of file src/core/ext/transport/chttp2/transport/internal.h.
uint8_t grpc_chttp2_transport::incoming_frame_flags = 0 |
Definition at line 368 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::incoming_frame_size = 0 |
Definition at line 372 of file src/core/ext/transport/chttp2/transport/internal.h.
uint8_t grpc_chttp2_transport::incoming_frame_type = 0 |
Definition at line 367 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_stream* grpc_chttp2_transport::incoming_stream = nullptr |
Definition at line 377 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::incoming_stream_id = 0 |
Definition at line 373 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::init_keepalive_ping_locked |
Closure to initialize a keepalive ping
Definition at line 416 of file src/core/ext/transport/chttp2/transport/internal.h.
int64_t grpc_chttp2_transport::initial_window_update = 0 |
initial window change. This is tracked as we parse settings frames from the remote peer. If there is a positive delta, then we will make all streams readable since they may have become unstalled
Definition at line 363 of file src/core/ext/transport/chttp2/transport/internal.h.
bool grpc_chttp2_transport::is_client |
is this a client?
Definition at line 301 of file src/core/ext/transport/chttp2/transport/internal.h.
Definition at line 370 of file src/core/ext/transport/chttp2/transport/internal.h.
if keepalive pings are allowed when there's no outstanding streams
Definition at line 432 of file src/core/ext/transport/chttp2/transport/internal.h.
If start_keepalive_ping_locked has been called
Definition at line 434 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_timer grpc_chttp2_transport::keepalive_ping_timer |
timer to initiate ping events
Definition at line 424 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_keepalive_state grpc_chttp2_transport::keepalive_state |
keep-alive state machine state
Definition at line 436 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::Duration grpc_chttp2_transport::keepalive_time |
time duration in between pings
Definition at line 428 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::Duration grpc_chttp2_transport::keepalive_timeout |
grace period for a ping to complete before watchdog kicks in
Definition at line 430 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::keepalive_watchdog_fired_locked |
Closrue to run when the keepalive ping timeouts
Definition at line 422 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_timer grpc_chttp2_transport::keepalive_watchdog_timer |
watchdog to kill the transport when waiting for the keepalive ping
Definition at line 426 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::last_new_stream_id = 0 |
last new stream id
Definition at line 332 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_stream_list grpc_chttp2_transport::lists[STREAM_LIST_COUNT] = {} |
various lists of streams
Definition at line 269 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::MemoryOwner grpc_chttp2_transport::memory_owner |
Definition at line 248 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_timer grpc_chttp2_transport::next_bdp_ping_timer |
Definition at line 412 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::next_bdp_ping_timer_expired_locked |
Definition at line 387 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::next_stream_id = 0 |
what is the next stream id to be allocated by this peer? copied to next_stream_id in parsing when parsing commences
Definition at line 329 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure* grpc_chttp2_transport::notify_on_close = nullptr |
Definition at line 255 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure* grpc_chttp2_transport::notify_on_receive_settings = nullptr |
Definition at line 254 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::num_messages_in_next_write = 0 |
Definition at line 439 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::num_pending_induced_frames = 0 |
The number of pending induced frames (SETTINGS_ACK, PINGS_ACK and RST_STREAM) in the outgoing buffer (t->qbuf). If this number goes beyond DEFAULT_MAX_PENDING_INDUCED_FRAMES, we pause reading new frames. We would only continue reading when we are able to write to the socket again, thereby reducing the number of induced frames.
Definition at line 445 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_slice_buffer grpc_chttp2_transport::outbuf |
data to write now
Definition at line 297 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_error_handle(* grpc_chttp2_transport::parser) (void *parser_user_data, grpc_chttp2_transport *t, grpc_chttp2_stream *s, const grpc_slice &slice, int is_last) |
Definition at line 378 of file src/core/ext/transport/chttp2/transport/internal.h.
void* grpc_chttp2_transport::parser_data = nullptr |
Definition at line 376 of file src/core/ext/transport/chttp2/transport/internal.h.
std::string grpc_chttp2_transport::peer_string |
Definition at line 246 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_ping_parser grpc_chttp2_transport::ping |
Definition at line 353 of file src/core/ext/transport/chttp2/transport/internal.h.
size_t grpc_chttp2_transport::ping_ack_capacity = 0 |
Definition at line 343 of file src/core/ext/transport/chttp2/transport/internal.h.
size_t grpc_chttp2_transport::ping_ack_count = 0 |
ping acks
Definition at line 342 of file src/core/ext/transport/chttp2/transport/internal.h.
uint64_t* grpc_chttp2_transport::ping_acks = nullptr |
Definition at line 344 of file src/core/ext/transport/chttp2/transport/internal.h.
uint64_t grpc_chttp2_transport::ping_ctr = 0 |
Definition at line 338 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_repeated_ping_policy grpc_chttp2_transport::ping_policy |
Definition at line 336 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_ping_queue grpc_chttp2_transport::ping_queue = grpc_chttp2_ping_queue() |
ping queues for various ping insertion points
Definition at line 335 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_server_ping_recv_state grpc_chttp2_transport::ping_recv_state |
Definition at line 345 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_repeated_ping_state grpc_chttp2_transport::ping_state |
Definition at line 337 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_slice_buffer grpc_chttp2_transport::qbuf |
data to write next write
Definition at line 304 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::read_action_locked |
Definition at line 278 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_slice_buffer grpc_chttp2_transport::read_buffer |
incoming read bytes
Definition at line 281 of file src/core/ext/transport/chttp2/transport/internal.h.
Definition at line 446 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::RefCount grpc_chttp2_transport::refs |
Definition at line 244 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::retry_initiate_ping_locked |
Definition at line 339 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_rst_stream_parser grpc_chttp2_transport::rst_stream |
Definition at line 354 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure_list grpc_chttp2_transport::run_after_write = GRPC_CLOSURE_LIST_INIT |
Definition at line 396 of file src/core/ext/transport/chttp2/transport/internal.h.
const grpc_core::MemoryAllocator::Reservation grpc_chttp2_transport::self_reservation |
Definition at line 249 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_sent_goaway_state grpc_chttp2_transport::sent_goaway_state = GRPC_CHTTP2_NO_GOAWAY_SEND |
Definition at line 314 of file src/core/ext/transport/chttp2/transport/internal.h.
have local settings been sent?
Definition at line 319 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_settings_parser grpc_chttp2_transport::settings |
Definition at line 352 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::settings[GRPC_NUM_SETTING_SETS][GRPC_CHTTP2_NUM_SETTINGS] |
settings values
Definition at line 325 of file src/core/ext/transport/chttp2/transport/internal.h.
union { ... } grpc_chttp2_transport::simple |
simple one shot parsers
grpc_closure grpc_chttp2_transport::start_bdp_ping_locked |
Definition at line 388 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::start_keepalive_ping_locked |
Closure to run when the keepalive ping is sent
Definition at line 418 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_core::ConnectivityStateTracker grpc_chttp2_transport::state_tracker |
connectivity tracking
Definition at line 294 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_stream_map grpc_chttp2_transport::stream_map |
maps stream id to grpc_chttp2_stream objects
Definition at line 272 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_window_update_parser grpc_chttp2_transport::window_update |
Definition at line 351 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::write_action |
Definition at line 275 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::write_action_begin_locked |
Definition at line 274 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_closure grpc_chttp2_transport::write_action_end_locked |
Definition at line 276 of file src/core/ext/transport/chttp2/transport/internal.h.
uint32_t grpc_chttp2_transport::write_buffer_size = grpc_core::chttp2::kDefaultWindow |
how much data are we willing to buffer when the WRITE_BUFFER_HINT is set?
Definition at line 308 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_write_cb* grpc_chttp2_transport::write_cb_pool = nullptr |
Definition at line 382 of file src/core/ext/transport/chttp2/transport/internal.h.
grpc_chttp2_write_state grpc_chttp2_transport::write_state = GRPC_CHTTP2_WRITE_STATE_IDLE |
write execution state of the transport
Definition at line 258 of file src/core/ext/transport/chttp2/transport/internal.h.