34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_STREAM_OP_H
35 #define GRPC_INTERNAL_CORE_TRANSPORT_STREAM_OP_H
44 #define GRPC_SOPB_INLINE_ELEMENTS 4
63 #define GRPC_WRITE_INTERNAL_COMPRESS (0x80000000u)
65 #define GRPC_WRITE_INTERNAL_USED_MASK (GRPC_WRITE_INTERNAL_COMPRESS)
157 #define grpc_metadata_batch_assert_ok(comd) \
void grpc_metadata_batch_filter(grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data)
For each element in batch, execute filter.
Definition: stream_op.c:296
grpc_metadata_batch metadata
Definition: stream_op.h:170
grpc_stream_op_code
Definition: stream_op.h:48
void grpc_sopb_add_metadata(grpc_stream_op_buffer *sopb, grpc_metadata_batch metadata)
Definition: stream_op.c:140
struct grpc_metadata_batch grpc_metadata_batch
#define GRPC_SOPB_INLINE_ELEMENTS
Definition: stream_op.h:44
char * grpc_sopb_string(grpc_stream_op_buffer *sopb)
Definition: transport_op_string.c:72
size_t capacity
Definition: stream_op.h:180
gpr_uint32 length
Definition: stream_op.h:70
struct grpc_stream_op grpc_stream_op
void grpc_sopb_swap(grpc_stream_op_buffer *a, grpc_stream_op_buffer *b)
Definition: stream_op.c:61
Definition: stream_op.h:51
void grpc_metadata_batch_assert_ok(grpc_metadata_batch *comd)
Definition: stream_op.c:199
void grpc_sopb_reset(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:56
grpc_mdelem * md
Definition: stream_op.h:77
grpc_stream_op * ops
Definition: stream_op.h:178
gpr_uint32 flags
Definition: stream_op.h:73
void grpc_sopb_append(grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops)
Definition: stream_op.c:153
struct grpc_mdelem_list grpc_mdelem_list
grpc_linked_mdelem * tail
Definition: stream_op.h:85
struct grpc_linked_mdelem * prev
Definition: stream_op.h:79
void grpc_metadata_batch_add_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
Add elem_to_add as the first element in batch, using storage as backing storage for the linked list e...
Definition: stream_op.c:221
void grpc_metadata_batch_init(grpc_metadata_batch *batch)
Definition: stream_op.c:205
Definition: stream_op.h:55
void grpc_metadata_batch_merge(grpc_metadata_batch *target, grpc_metadata_batch *add)
Definition: stream_op.c:276
grpc_linked_mdelem * head
Definition: stream_op.h:84
Definition: metadata.h:78
gpr_slice slice
Definition: stream_op.h:171
struct grpc_begin_message grpc_begin_message
struct grpc_stream_op_buffer grpc_stream_op_buffer
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
void grpc_metadata_batch_link_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
Add storage to the beginning of batch.
Definition: stream_op.c:243
void * reserved
Definition: stream_op.h:80
void grpc_sopb_destroy(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:51
void grpc_metadata_batch_move(grpc_metadata_batch *dst, grpc_metadata_batch *src)
Moves the metadata information from src to dst.
Definition: stream_op.c:290
size_t nops
Definition: stream_op.h:179
void grpc_sopb_init(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:45
Definition: stream_op.h:76
enum grpc_stream_op_code type
Definition: stream_op.h:165
void grpc_sopb_add_slice(grpc_stream_op_buffer *sopb, gpr_slice slice)
Definition: stream_op.c:147
void grpc_sopb_add_begin_message(grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags)
Definition: stream_op.c:132
Definition: stream_op.h:52
union grpc_stream_op::@24 data
Definition: stream_op.h:68
void grpc_metadata_batch_add_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
Add elem_to_add as the last element in batch, using storage as backing storage for the linked list el...
Definition: stream_op.c:248
void grpc_stream_ops_unref_owned_objects(grpc_stream_op *ops, size_t nops)
Definition: stream_op.c:89
void grpc_sopb_move_to(grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst)
Definition: stream_op.c:166
void grpc_metadata_batch_link_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
Add storage to the end of batch.
Definition: stream_op.c:271
grpc_begin_message begin_message
Definition: stream_op.h:169
Definition: stream_op.h:163
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:177
struct grpc_linked_mdelem * next
Definition: stream_op.h:78
Definition: stream_op.h:58
grpc_stream_op inlined_ops[4]
Definition: stream_op.h:181
void grpc_metadata_batch_destroy(grpc_metadata_batch *batch)
Definition: stream_op.c:211
Definition: stream_op.h:83
void grpc_sopb_add_no_op(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:128
struct grpc_linked_mdelem grpc_linked_mdelem