Classes | Public Member Functions | Public Attributes | List of all members
grpc_chttp2_stream Struct Reference

#include <internal.h>

Classes

struct  Reffer
 

Public Member Functions

 grpc_chttp2_stream (grpc_chttp2_transport *t, grpc_stream_refcount *refcount, const void *server_data, grpc_core::Arena *arena)
 
 ~grpc_chttp2_stream ()
 

Public Attributes

bool all_incoming_byte_streams_finished = false
 
size_t byte_counter = 0
 
boolcall_failed_before_recv_message = nullptr
 
grpc_transport_stream_statscollecting_stats = nullptr
 
void * context
 
grpc_core::Timestamp deadline = grpc_core::Timestamp::InfFuture()
 
grpc_closure destroy_stream
 
grpc_closuredestroy_stream_arg
 
bool eos_received = false
 
bool eos_sent = false
 
bool final_metadata_requested = false
 
grpc_chttp2_write_cbfinish_after_write = nullptr
 
grpc_core::chttp2::StreamFlowControl flow_control
 
grpc_slice_buffer flow_controlled_buffer
 
int64_t flow_controlled_bytes_flowed = 0
 
int64_t flow_controlled_bytes_written = 0
 
grpc_error_handle forced_close_error = GRPC_ERROR_NONE
 
grpc_slice_buffer frame_storage
 
uint8_t header_frames_received = 0
 
uint32_t id = 0
 
grpc_core::BitSet< STREAM_LIST_COUNTincluded
 
grpc_metadata_batch initial_metadata_buffer
 
grpc_chttp2_stream_link links [STREAM_LIST_COUNT]
 
int64_t next_message_end_offset
 
grpc_chttp2_write_cbon_flow_controlled_cbs = nullptr
 
grpc_chttp2_write_cbon_write_finished_cbs = nullptr
 
grpc_published_metadata_method published_metadata [2] = {}
 
bool read_closed = false
 
grpc_error_handle read_closed_error = GRPC_ERROR_NONE
 
int64_t received_bytes = 0
 
bool received_last_frame = false
 
grpc_metadata_batchrecv_initial_metadata
 
grpc_closurerecv_initial_metadata_ready = nullptr
 
absl::optional< grpc_core::SliceBuffer > * recv_message = nullptr
 
uint32_trecv_message_flags = nullptr
 
grpc_closurerecv_message_ready = nullptr
 
grpc_metadata_batchrecv_trailing_metadata
 
grpc_closurerecv_trailing_metadata_finished = nullptr
 
grpc_stream_refcountrefcount
 
struct grpc_chttp2_stream::Reffer reffer
 
bool seen_error = false
 
grpc_metadata_batchsend_initial_metadata = nullptr
 
grpc_closuresend_initial_metadata_finished = nullptr
 
grpc_closuresend_message_finished = nullptr
 
grpc_metadata_batchsend_trailing_metadata = nullptr
 
grpc_closuresend_trailing_metadata_finished = nullptr
 
size_t sending_bytes = 0
 
bool sent_initial_metadata = false
 
bool sent_trailing_metadata = false
 
boolsent_trailing_metadata_op = nullptr
 
grpc_transport_stream_stats stats = grpc_transport_stream_stats()
 
grpc_chttp2_transportt
 
bool traced = false
 
booltrailing_metadata_available = nullptr
 
grpc_metadata_batch trailing_metadata_buffer
 
bool write_buffering = false
 
bool write_closed = false
 
grpc_error_handle write_closed_error = GRPC_ERROR_NONE
 

Detailed Description

Definition at line 456 of file src/core/ext/transport/chttp2/transport/internal.h.

Constructor & Destructor Documentation

◆ grpc_chttp2_stream()

grpc_chttp2_stream::grpc_chttp2_stream ( grpc_chttp2_transport t,
grpc_stream_refcount refcount,
const void *  server_data,
grpc_core::Arena arena 
)

Definition at line 679 of file chttp2_transport.cc.

◆ ~grpc_chttp2_stream()

grpc_chttp2_stream::~grpc_chttp2_stream ( )

Definition at line 700 of file chttp2_transport.cc.

Member Data Documentation

◆ all_incoming_byte_streams_finished

bool grpc_chttp2_stream::all_incoming_byte_streams_finished = false

Are all published incoming byte streams closed.

Definition at line 516 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ byte_counter

size_t grpc_chttp2_stream::byte_counter = 0

Byte counter for number of bytes written

Definition at line 566 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ call_failed_before_recv_message

bool* grpc_chttp2_stream::call_failed_before_recv_message = nullptr

◆ collecting_stats

grpc_transport_stream_stats* grpc_chttp2_stream::collecting_stats = nullptr

◆ context

void* grpc_chttp2_stream::context

◆ deadline

grpc_core::Timestamp grpc_chttp2_stream::deadline = grpc_core::Timestamp::InfFuture()

◆ destroy_stream

grpc_closure grpc_chttp2_stream::destroy_stream

◆ destroy_stream_arg

grpc_closure* grpc_chttp2_stream::destroy_stream_arg

◆ eos_received

bool grpc_chttp2_stream::eos_received = false

◆ eos_sent

bool grpc_chttp2_stream::eos_sent = false

◆ final_metadata_requested

bool grpc_chttp2_stream::final_metadata_requested = false

◆ finish_after_write

grpc_chttp2_write_cb* grpc_chttp2_stream::finish_after_write = nullptr

◆ flow_control

grpc_core::chttp2::StreamFlowControl grpc_chttp2_stream::flow_control

◆ flow_controlled_buffer

grpc_slice_buffer grpc_chttp2_stream::flow_controlled_buffer

◆ flow_controlled_bytes_flowed

int64_t grpc_chttp2_stream::flow_controlled_bytes_flowed = 0

◆ flow_controlled_bytes_written

int64_t grpc_chttp2_stream::flow_controlled_bytes_written = 0

◆ forced_close_error

grpc_error_handle grpc_chttp2_stream::forced_close_error = GRPC_ERROR_NONE

saw some stream level error

Definition at line 545 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ frame_storage

grpc_slice_buffer grpc_chttp2_stream::frame_storage

◆ header_frames_received

uint8_t grpc_chttp2_stream::header_frames_received = 0

how many header frames have we received?

Definition at line 547 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ id

uint32_t grpc_chttp2_stream::id = 0

HTTP2 stream id for this stream, or zero if one has not been assigned

Definition at line 478 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ included

grpc_core::BitSet<STREAM_LIST_COUNT> grpc_chttp2_stream::included

◆ initial_metadata_buffer

grpc_metadata_batch grpc_chttp2_stream::initial_metadata_buffer

◆ links

grpc_chttp2_stream_link grpc_chttp2_stream::links[STREAM_LIST_COUNT]

◆ next_message_end_offset

int64_t grpc_chttp2_stream::next_message_end_offset

◆ on_flow_controlled_cbs

grpc_chttp2_write_cb* grpc_chttp2_stream::on_flow_controlled_cbs = nullptr

◆ on_write_finished_cbs

grpc_chttp2_write_cb* grpc_chttp2_stream::on_write_finished_cbs = nullptr

◆ published_metadata

grpc_published_metadata_method grpc_chttp2_stream::published_metadata[2] = {}

◆ read_closed

bool grpc_chttp2_stream::read_closed = false

Is this stream reading half-closed.

Definition at line 514 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ read_closed_error

grpc_error_handle grpc_chttp2_stream::read_closed_error = GRPC_ERROR_NONE

the error that resulted in this stream being read-closed

Definition at line 529 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ received_bytes

int64_t grpc_chttp2_stream::received_bytes = 0

number of bytes received - reset at end of parse thread execution

Definition at line 549 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ received_last_frame

bool grpc_chttp2_stream::received_last_frame = false

◆ recv_initial_metadata

grpc_metadata_batch* grpc_chttp2_stream::recv_initial_metadata

◆ recv_initial_metadata_ready

grpc_closure* grpc_chttp2_stream::recv_initial_metadata_ready = nullptr

◆ recv_message

absl::optional<grpc_core::SliceBuffer>* grpc_chttp2_stream::recv_message = nullptr

◆ recv_message_flags

uint32_t* grpc_chttp2_stream::recv_message_flags = nullptr

◆ recv_message_ready

grpc_closure* grpc_chttp2_stream::recv_message_ready = nullptr

◆ recv_trailing_metadata

grpc_metadata_batch* grpc_chttp2_stream::recv_trailing_metadata

◆ recv_trailing_metadata_finished

grpc_closure* grpc_chttp2_stream::recv_trailing_metadata_finished = nullptr

◆ refcount

grpc_stream_refcount* grpc_chttp2_stream::refcount

◆ reffer

struct grpc_chttp2_stream::Reffer grpc_chttp2_stream::reffer

◆ seen_error

bool grpc_chttp2_stream::seen_error = false

Has this stream seen an error. If true, then pending incoming frames can be thrown away.

Definition at line 519 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ send_initial_metadata

grpc_metadata_batch* grpc_chttp2_stream::send_initial_metadata = nullptr

things the upper layers would like to send

Definition at line 481 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ send_initial_metadata_finished

grpc_closure* grpc_chttp2_stream::send_initial_metadata_finished = nullptr

◆ send_message_finished

grpc_closure* grpc_chttp2_stream::send_message_finished = nullptr

◆ send_trailing_metadata

grpc_metadata_batch* grpc_chttp2_stream::send_trailing_metadata = nullptr

◆ send_trailing_metadata_finished

grpc_closure* grpc_chttp2_stream::send_trailing_metadata_finished = nullptr

◆ sending_bytes

size_t grpc_chttp2_stream::sending_bytes = 0

◆ sent_initial_metadata

bool grpc_chttp2_stream::sent_initial_metadata = false

◆ sent_trailing_metadata

bool grpc_chttp2_stream::sent_trailing_metadata = false

◆ sent_trailing_metadata_op

bool* grpc_chttp2_stream::sent_trailing_metadata_op = nullptr

◆ stats

◆ t

grpc_chttp2_transport* grpc_chttp2_stream::t

◆ traced

bool grpc_chttp2_stream::traced = false

Whether the bytes needs to be traced using Fathom

Definition at line 564 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ trailing_metadata_available

bool* grpc_chttp2_stream::trailing_metadata_available = nullptr

◆ trailing_metadata_buffer

grpc_metadata_batch grpc_chttp2_stream::trailing_metadata_buffer

◆ write_buffering

bool grpc_chttp2_stream::write_buffering = false

Are we buffering writes on this stream? If yes, we won't become writable until there's enough queued up in the flow_controlled_buffer

Definition at line 522 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ write_closed

bool grpc_chttp2_stream::write_closed = false

Is this stream closed for writing.

Definition at line 512 of file src/core/ext/transport/chttp2/transport/internal.h.

◆ write_closed_error

grpc_error_handle grpc_chttp2_stream::write_closed_error = GRPC_ERROR_NONE

the error that resulted in this stream being write-closed

Definition at line 531 of file src/core/ext/transport/chttp2/transport/internal.h.


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


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