#include <grpc/support/port_platform.h>
#include "src/core/lib/transport/transport.h"
#include <string.h>
#include <memory>
#include <new>
#include "absl/status/status.h"
#include <grpc/event_engine/event_engine.h>
#include "src/core/lib/event_engine/default_event_engine.h"
#include "src/core/lib/gpr/alloc.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/transport/transport_impl.h"
grpc_core::DebugOnlyTraceFlag grpc_trace_stream_refcount(false,
"stream_refcount");
void grpc_stream_destroy(grpc_stream_refcount* refcount) { … }
void slice_stream_destroy(void* arg) { … }
#ifndef NDEBUG
void grpc_stream_ref_init(grpc_stream_refcount* refcount, int ,
grpc_iomgr_cb_func cb, void* cb_arg,
const char* object_type) { … }
static void move64bits(uint64_t* from, uint64_t* to) { … }
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) { … }
void grpc_transport_destroy(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_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_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) { … }
grpc_endpoint* grpc_transport_get_endpoint(grpc_transport* transport) { … }
void grpc_transport_stream_op_batch_finish_with_failure(
grpc_transport_stream_op_batch* batch, grpc_error_handle error,
grpc_core::CallCombiner* call_combiner) { … }
void grpc_transport_stream_op_batch_queue_finish_with_failure(
grpc_transport_stream_op_batch* batch, grpc_error_handle error,
grpc_core::CallCombinerClosureList* closures) { … }
void grpc_transport_stream_op_batch_finish_with_failure_from_transport(
grpc_transport_stream_op_batch* batch, grpc_error_handle error) { … }
struct made_transport_op { … };
static void destroy_made_transport_op(void* arg, grpc_error_handle error) { … }
grpc_transport_op* grpc_make_transport_op(grpc_closure* on_complete) { … }
struct made_transport_stream_op { … };
static void destroy_made_transport_stream_op(void* arg,
grpc_error_handle error) { … }
grpc_transport_stream_op_batch* grpc_make_transport_stream_op(
grpc_closure* on_complete) { … }
namespace grpc_core {
ServerMetadataHandle ServerMetadataFromStatus(const absl::Status& status,
Arena* arena) { … }
}