GRPC Core  9.0.0
Data Structures | Macros | Typedefs | Functions | Variables
transport.h File Reference
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include "src/core/lib/channel/context.h"
#include "src/core/lib/gprpp/arena.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/iomgr/call_combiner.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/transport/byte_stream.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/metadata_batch.h"

Go to the source code of this file.

Data Structures

struct  grpc_stream_refcount
 
struct  grpc_transport_one_way_stats
 
struct  grpc_transport_stream_stats
 
struct  grpc_handler_private_op_data
 
struct  grpc_transport_stream_op_batch
 
struct  grpc_transport_stream_op_batch_payload
 
struct  grpc_transport_op
 Transport op: a set of operations to perform on a transport as a whole. More...
 

Macros

#define GRPC_PROTOCOL_VERSION_MAX_MAJOR   2
 
#define GRPC_PROTOCOL_VERSION_MAX_MINOR   1
 
#define GRPC_PROTOCOL_VERSION_MIN_MAJOR   2
 
#define GRPC_PROTOCOL_VERSION_MIN_MINOR   1
 
#define GRPC_STREAM_REF_INIT(rc, ir, cb, cb_arg, objtype)   grpc_stream_ref_init(rc, ir, cb, cb_arg, objtype)
 

Typedefs

typedef struct grpc_transport grpc_transport
 
typedef struct grpc_stream grpc_stream
 
typedef struct grpc_stream_refcount grpc_stream_refcount
 
typedef struct grpc_transport_stream_op_batch_payload grpc_transport_stream_op_batch_payload
 
typedef struct grpc_transport_op grpc_transport_op
 Transport op: a set of operations to perform on a transport as a whole. More...
 

Functions

void grpc_stream_ref_init (grpc_stream_refcount *refcount, int initial_refs, grpc_iomgr_cb_func cb, void *cb_arg, const char *object_type)
 
void grpc_stream_ref (grpc_stream_refcount *refcount, const char *reason)
 
void grpc_stream_destroy (grpc_stream_refcount *refcount)
 
void grpc_stream_unref (grpc_stream_refcount *refcount, const char *reason)
 
grpc_slice grpc_slice_from_stream_owned_buffer (grpc_stream_refcount *refcount, void *buffer, size_t length)
 
void grpc_transport_move_one_way_stats (grpc_transport_one_way_stats *from, grpc_transport_one_way_stats *to)
 
void grpc_transport_move_stats (grpc_transport_stream_stats *from, grpc_transport_stream_stats *to)
 
size_t grpc_transport_stream_size (grpc_transport *transport)
 
int grpc_transport_init_stream (grpc_transport *transport, grpc_stream *stream, grpc_stream_refcount *refcount, const void *server_data, grpc_core::Arena *arena)
 
void grpc_transport_set_pops (grpc_transport *transport, grpc_stream *stream, grpc_polling_entity *pollent)
 
void grpc_transport_destroy_stream (grpc_transport *transport, grpc_stream *stream, grpc_closure *then_schedule_closure)
 
void grpc_transport_stream_op_batch_finish_with_failure (grpc_transport_stream_op_batch *op, grpc_error *error, grpc_core::CallCombiner *call_combiner)
 
char * grpc_transport_stream_op_batch_string (grpc_transport_stream_op_batch *op)
 
char * grpc_transport_op_string (grpc_transport_op *op)
 
void grpc_transport_perform_stream_op (grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op_batch *op)
 
void grpc_transport_perform_op (grpc_transport *transport, grpc_transport_op *op)
 
void grpc_transport_ping (grpc_transport *transport, grpc_closure *cb)
 
void grpc_transport_goaway (grpc_transport *transport, grpc_status_code status, grpc_slice debug_data)
 
void grpc_transport_destroy (grpc_transport *transport)
 
grpc_endpointgrpc_transport_get_endpoint (grpc_transport *transport)
 
grpc_transport_opgrpc_make_transport_op (grpc_closure *on_consumed)
 
grpc_transport_stream_op_batchgrpc_make_transport_stream_op (grpc_closure *on_consumed)
 

Variables

grpc_core::DebugOnlyTraceFlag grpc_trace_stream_refcount
 

Macro Definition Documentation

◆ GRPC_PROTOCOL_VERSION_MAX_MAJOR

#define GRPC_PROTOCOL_VERSION_MAX_MAJOR   2

◆ GRPC_PROTOCOL_VERSION_MAX_MINOR

#define GRPC_PROTOCOL_VERSION_MAX_MINOR   1

◆ GRPC_PROTOCOL_VERSION_MIN_MAJOR

#define GRPC_PROTOCOL_VERSION_MIN_MAJOR   2

◆ GRPC_PROTOCOL_VERSION_MIN_MINOR

#define GRPC_PROTOCOL_VERSION_MIN_MINOR   1

◆ GRPC_STREAM_REF_INIT

#define GRPC_STREAM_REF_INIT (   rc,
  ir,
  cb,
  cb_arg,
  objtype 
)    grpc_stream_ref_init(rc, ir, cb, cb_arg, objtype)

Typedef Documentation

◆ grpc_stream

typedef struct grpc_stream grpc_stream

◆ grpc_stream_refcount

◆ grpc_transport

◆ grpc_transport_op

Transport op: a set of operations to perform on a transport as a whole.

◆ grpc_transport_stream_op_batch_payload

Function Documentation

◆ grpc_make_transport_op()

grpc_transport_op* grpc_make_transport_op ( grpc_closure on_consumed)

◆ grpc_make_transport_stream_op()

grpc_transport_stream_op_batch* grpc_make_transport_stream_op ( grpc_closure on_consumed)

◆ grpc_slice_from_stream_owned_buffer()

grpc_slice grpc_slice_from_stream_owned_buffer ( grpc_stream_refcount refcount,
void *  buffer,
size_t  length 
)

◆ grpc_stream_destroy()

void grpc_stream_destroy ( grpc_stream_refcount refcount)

◆ grpc_stream_ref()

void grpc_stream_ref ( grpc_stream_refcount refcount,
const char *  reason 
)
inline

◆ grpc_stream_ref_init()

void grpc_stream_ref_init ( grpc_stream_refcount refcount,
int  initial_refs,
grpc_iomgr_cb_func  cb,
void *  cb_arg,
const char *  object_type 
)

◆ grpc_stream_unref()

void grpc_stream_unref ( grpc_stream_refcount refcount,
const char *  reason 
)
inline

◆ grpc_transport_destroy()

void grpc_transport_destroy ( grpc_transport transport)

◆ grpc_transport_destroy_stream()

void grpc_transport_destroy_stream ( grpc_transport transport,
grpc_stream stream,
grpc_closure then_schedule_closure 
)

◆ grpc_transport_get_endpoint()

grpc_endpoint* grpc_transport_get_endpoint ( grpc_transport transport)

◆ grpc_transport_goaway()

void grpc_transport_goaway ( grpc_transport transport,
grpc_status_code  status,
grpc_slice  debug_data 
)

◆ grpc_transport_init_stream()

int grpc_transport_init_stream ( grpc_transport transport,
grpc_stream stream,
grpc_stream_refcount refcount,
const void *  server_data,
grpc_core::Arena arena 
)

◆ grpc_transport_move_one_way_stats()

void grpc_transport_move_one_way_stats ( grpc_transport_one_way_stats from,
grpc_transport_one_way_stats to 
)

◆ grpc_transport_move_stats()

void grpc_transport_move_stats ( grpc_transport_stream_stats from,
grpc_transport_stream_stats to 
)

◆ grpc_transport_op_string()

char* grpc_transport_op_string ( grpc_transport_op op)

◆ grpc_transport_perform_op()

void grpc_transport_perform_op ( grpc_transport transport,
grpc_transport_op op 
)

◆ grpc_transport_perform_stream_op()

void grpc_transport_perform_stream_op ( grpc_transport transport,
grpc_stream stream,
grpc_transport_stream_op_batch op 
)

◆ grpc_transport_ping()

void grpc_transport_ping ( grpc_transport transport,
grpc_closure cb 
)

◆ grpc_transport_set_pops()

void grpc_transport_set_pops ( grpc_transport transport,
grpc_stream stream,
grpc_polling_entity pollent 
)

◆ grpc_transport_stream_op_batch_finish_with_failure()

void grpc_transport_stream_op_batch_finish_with_failure ( grpc_transport_stream_op_batch op,
grpc_error error,
grpc_core::CallCombiner call_combiner 
)

◆ grpc_transport_stream_op_batch_string()

char* grpc_transport_stream_op_batch_string ( grpc_transport_stream_op_batch op)

◆ grpc_transport_stream_size()

size_t grpc_transport_stream_size ( grpc_transport transport)

Variable Documentation

◆ grpc_trace_stream_refcount

grpc_core::DebugOnlyTraceFlag grpc_trace_stream_refcount