GRPC C++  1.26.0
Public Member Functions | Data Fields
grpc_transport_stream_op_batch_payload Struct Reference

#include <transport.h>

Public Member Functions

 grpc_transport_stream_op_batch_payload (grpc_call_context_element *context)
 
 ~grpc_transport_stream_op_batch_payload ()
 

Data Fields

struct {
   grpc_metadata_batch *   send_initial_metadata = nullptr
 
   uint32_t   send_initial_metadata_flags = 0
 Iff send_initial_metadata != NULL, flags associated with send_initial_metadata: a bitfield of GRPC_INITIAL_METADATA_xxx. More...
 
   gpr_atm *   peer_string = nullptr
 
send_initial_metadata
 
struct {
   grpc_metadata_batch *   send_trailing_metadata = nullptr
 
send_trailing_metadata
 
struct {
   grpc_core::OrphanablePtr< grpc_core::ByteStream >   send_message
 
   bool   stream_write_closed = false
 
send_message
 
struct {
   grpc_metadata_batch *   recv_initial_metadata = nullptr
 
   uint32_t *   recv_flags = nullptr
 
   grpc_closure *   recv_initial_metadata_ready = nullptr
 Should be enqueued when initial metadata is ready to be processed. More...
 
   bool *   trailing_metadata_available = nullptr
 
   gpr_atm *   peer_string = nullptr
 
recv_initial_metadata
 
struct {
   grpc_core::OrphanablePtr< grpc_core::ByteStream > *   recv_message = nullptr
 
   grpc_closure *   recv_message_ready = nullptr
 Should be enqueued when one message is ready to be processed. More...
 
recv_message
 
struct {
   grpc_metadata_batch *   recv_trailing_metadata = nullptr
 
   grpc_transport_stream_stats *   collect_stats = nullptr
 
   grpc_closure *   recv_trailing_metadata_ready = nullptr
 Should be enqueued when trailing metadata is ready to be processed. More...
 
recv_trailing_metadata
 
struct {
   grpc_error *   cancel_error = GRPC_ERROR_NONE
 
cancel_stream
 Forcefully close this stream. More...
 
grpc_call_context_elementcontext
 

Constructor & Destructor Documentation

◆ grpc_transport_stream_op_batch_payload()

grpc_transport_stream_op_batch_payload::grpc_transport_stream_op_batch_payload ( grpc_call_context_element context)
inlineexplicit

◆ ~grpc_transport_stream_op_batch_payload()

grpc_transport_stream_op_batch_payload::~grpc_transport_stream_op_batch_payload ( )
inline

Field Documentation

◆ cancel_error

grpc_error* grpc_transport_stream_op_batch_payload::cancel_error = GRPC_ERROR_NONE

◆ 

struct { ... } grpc_transport_stream_op_batch_payload::cancel_stream

Forcefully close this stream.

The HTTP2 semantics should be:

  • server side: if cancel_error has GRPC_ERROR_INT_GRPC_STATUS, and trailing metadata has not been sent, send trailing metadata with status and message from cancel_error (use grpc_error_get_status) followed by a RST_STREAM with error=GRPC_CHTTP2_NO_ERROR to force a full close
  • at all other times: use grpc_error_get_status to get a status code, and convert to a HTTP2 error code using grpc_chttp2_grpc_status_to_http2_error. Send a RST_STREAM with this error.

◆ collect_stats

grpc_transport_stream_stats* grpc_transport_stream_op_batch_payload::collect_stats = nullptr

◆ context

grpc_call_context_element* grpc_transport_stream_op_batch_payload::context

◆ peer_string

gpr_atm* grpc_transport_stream_op_batch_payload::peer_string = nullptr

◆ recv_flags

uint32_t* grpc_transport_stream_op_batch_payload::recv_flags = nullptr

◆ recv_initial_metadata [1/2]

grpc_metadata_batch* grpc_transport_stream_op_batch_payload::recv_initial_metadata = nullptr

◆  [2/2]

struct { ... } grpc_transport_stream_op_batch_payload::recv_initial_metadata

◆ recv_initial_metadata_ready

grpc_closure* grpc_transport_stream_op_batch_payload::recv_initial_metadata_ready = nullptr

Should be enqueued when initial metadata is ready to be processed.

◆ recv_message [1/2]

grpc_core::OrphanablePtr<grpc_core::ByteStream>* grpc_transport_stream_op_batch_payload::recv_message = nullptr

◆  [2/2]

struct { ... } grpc_transport_stream_op_batch_payload::recv_message

◆ recv_message_ready

grpc_closure* grpc_transport_stream_op_batch_payload::recv_message_ready = nullptr

Should be enqueued when one message is ready to be processed.

◆ recv_trailing_metadata [1/2]

grpc_metadata_batch* grpc_transport_stream_op_batch_payload::recv_trailing_metadata = nullptr

◆  [2/2]

struct { ... } grpc_transport_stream_op_batch_payload::recv_trailing_metadata

◆ recv_trailing_metadata_ready

grpc_closure* grpc_transport_stream_op_batch_payload::recv_trailing_metadata_ready = nullptr

Should be enqueued when trailing metadata is ready to be processed.

◆ send_initial_metadata [1/2]

grpc_metadata_batch* grpc_transport_stream_op_batch_payload::send_initial_metadata = nullptr

◆  [2/2]

struct { ... } grpc_transport_stream_op_batch_payload::send_initial_metadata

◆ send_initial_metadata_flags

uint32_t grpc_transport_stream_op_batch_payload::send_initial_metadata_flags = 0

Iff send_initial_metadata != NULL, flags associated with send_initial_metadata: a bitfield of GRPC_INITIAL_METADATA_xxx.

◆ send_message [1/2]

grpc_core::OrphanablePtr<grpc_core::ByteStream> grpc_transport_stream_op_batch_payload::send_message

◆  [2/2]

struct { ... } grpc_transport_stream_op_batch_payload::send_message

◆ send_trailing_metadata [1/2]

grpc_metadata_batch* grpc_transport_stream_op_batch_payload::send_trailing_metadata = nullptr

◆  [2/2]

struct { ... } grpc_transport_stream_op_batch_payload::send_trailing_metadata

◆ stream_write_closed

bool grpc_transport_stream_op_batch_payload::stream_write_closed = false

◆ trailing_metadata_available

bool* grpc_transport_stream_op_batch_payload::trailing_metadata_available = nullptr

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