GRPC Core  4.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
grpc_op Struct Reference

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) More...

#include <grpc_types.h>

Data Fields

grpc_op_type op
 Operation type, as defined by grpc_op_type. More...
 
uint32_t flags
 Write flags bitset for grpc_begin_messages. More...
 
void * reserved
 Reserved for future usage. More...
 
union {
   struct {
      void *   reserved [8]
 
   }   reserved
 Reserved for future usage. More...
 
   struct {
      size_t   count
 
      grpc_metadata *   metadata
 
      struct {
         uint8_t   is_set
 
         grpc_compression_level   level
 
      }   maybe_compression_level
 If is_set, compression_level will be used for the call. More...
 
   }   send_initial_metadata
 
   struct {
      struct grpc_byte_buffer *   send_message
 
   }   send_message
 
   struct {
      size_t   trailing_metadata_count
 
      grpc_metadata *   trailing_metadata
 
      grpc_status_code   status
 
      grpc_slice *   status_details
 optional: set to NULL if no details need sending, non-NULL if they do pointer will not be retained past the start_batch call More...
 
   }   send_status_from_server
 
   struct {
      grpc_metadata_array *   recv_initial_metadata
 
   }   recv_initial_metadata
 ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, recv_initial_metadata->array is owned by the caller). More...
 
   struct {
      struct grpc_byte_buffer **   recv_message
 
   }   recv_message
 ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on this value, or reuse it in a future op. More...
 
   struct {
      grpc_metadata_array *   trailing_metadata
 ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller). More...
 
      grpc_status_code *   status
 
      grpc_slice *   status_details
 
   }   recv_status_on_client
 
   struct {
      int *   cancelled
 out argument, set to 1 if the call failed in any way (seen as a cancellation on the server), or 0 if the call succeeded More...
 
   }   recv_close_on_server
 
data
 

Detailed Description

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)

Field Documentation

int* grpc_op::cancelled

out argument, set to 1 if the call failed in any way (seen as a cancellation on the server), or 0 if the call succeeded

size_t grpc_op::count
union { ... } grpc_op::data
uint32_t grpc_op::flags

Write flags bitset for grpc_begin_messages.

uint8_t grpc_op::is_set
grpc_compression_level grpc_op::level
struct { ... } grpc_op::maybe_compression_level

If is_set, compression_level will be used for the call.

Otherwise, compression_level won't be considered

grpc_metadata* grpc_op::metadata
grpc_op_type grpc_op::op

Operation type, as defined by grpc_op_type.

struct { ... } grpc_op::recv_close_on_server
grpc_metadata_array* grpc_op::recv_initial_metadata
struct { ... } grpc_op::recv_initial_metadata

ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, recv_initial_metadata->array is owned by the caller).

After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op.

struct grpc_byte_buffer** grpc_op::recv_message
struct { ... } grpc_op::recv_message

ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on this value, or reuse it in a future op.

struct { ... } grpc_op::recv_status_on_client
void* grpc_op::reserved[8]

Reserved for future usage.

struct { ... } grpc_op::reserved

Reserved for future usage.

struct { ... } grpc_op::send_initial_metadata
struct grpc_byte_buffer* grpc_op::send_message
struct { ... } grpc_op::send_message
struct { ... } grpc_op::send_status_from_server
grpc_status_code grpc_op::status
grpc_status_code* grpc_op::status
grpc_slice* grpc_op::status_details

optional: set to NULL if no details need sending, non-NULL if they do pointer will not be retained past the start_batch call

grpc_metadata* grpc_op::trailing_metadata
grpc_metadata_array* grpc_op::trailing_metadata

ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller).

After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op.

size_t grpc_op::trailing_metadata_count

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