Go to the documentation of this file.
25 #include "absl/status/status.h"
26 #include "absl/strings/str_format.h"
41 "unsupported data flags: 0x%02x stream: %d",
flags, stream_id));
45 s->received_last_frame =
true;
46 s->eos_received =
true;
48 s->received_last_frame =
false;
60 static const size_t header_size = 9;
65 *
p++ =
static_cast<uint8_t>(write_bytes >> 16);
66 *
p++ =
static_cast<uint8_t>(write_bytes >> 8);
67 *
p++ =
static_cast<uint8_t>(write_bytes);
70 *
p++ =
static_cast<uint8_t>(
id >> 24);
71 *
p++ =
static_cast<uint8_t>(
id >> 16);
72 *
p++ =
static_cast<uint8_t>(
id >> 8);
78 stats->framing_bytes += header_size;
79 stats->data_bytes += write_bytes;
89 if (min_progress_size !=
nullptr) *min_progress_size = 5 -
slices->length;
98 if (message_flags !=
nullptr) *message_flags = 0;
101 if (message_flags !=
nullptr) {
119 if (min_progress_size !=
nullptr) {
125 if (min_progress_size !=
nullptr) *min_progress_size = 0;
127 if (stream_out !=
nullptr) {
128 s->stats.incoming.framing_bytes += 5;
129 s->stats.incoming.data_bytes +=
length;
146 if (is_last && s->received_last_frame) {
150 "Data frame with END_STREAM flag received")
const grpc_slice & grpc_slice_ref_internal(const grpc_slice &slice)
ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec< Args... > &format, const Args &... args)
void grpc_chttp2_maybe_complete_recv_message(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
unsigned char outbuf[SIZE]
#define GRPC_SLICE_MALLOC(len)
GPRAPI void grpc_slice_buffer_move_first_into_buffer(grpc_slice_buffer *src, size_t n, void *dst)
Status InternalError(absl::string_view message)
unsigned char inbuf[SIZE]
grpc_slice_buffer * c_slice_buffer()
Return a pointer to the back raw grpc_slice_buffer.
unsigned __int64 uint64_t
struct absl::base_internal::@2940::AllocList::Header header
@ GRPC_ERROR_INT_STREAM_ID
#define GRPC_SLICE_START_PTR(slice)
grpc_error_handle grpc_chttp2_data_parser_parse(void *, grpc_chttp2_transport *t, grpc_chttp2_stream *s, const grpc_slice &slice, int is_last)
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc)
GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice slice)
GPRAPI void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *dst)
#define GRPC_WRITE_INTERNAL_COMPRESS
grpc_error_handle grpc_error_set_int(grpc_error_handle src, grpc_error_ints which, intptr_t value)
grpc_core::Poll< grpc_error_handle > grpc_deframe_unprocessed_incoming_frames(grpc_chttp2_stream *s, uint32_t *min_progress_size, grpc_core::SliceBuffer *stream_out, uint32_t *message_flags)
#define GRPC_CHTTP2_DATA_FLAG_END_STREAM
#define GRPC_CHTTP2_FRAME_DATA
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc)
void grpc_chttp2_mark_stream_closed(grpc_chttp2_transport *t, grpc_chttp2_stream *s, int close_reads, int close_writes, grpc_error_handle error)
GPRAPI void grpc_slice_buffer_move_first(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *dst)
void grpc_chttp2_encode_data(uint32_t id, grpc_slice_buffer *inbuf, uint32_t write_bytes, int is_eof, grpc_transport_one_way_stats *stats, grpc_slice_buffer *outbuf)
absl::Status grpc_chttp2_data_parser_begin_frame(uint8_t flags, uint32_t stream_id, grpc_chttp2_stream *s)
void grpc_slice_buffer_copy_first_into_buffer(grpc_slice_buffer *src, size_t n, void *dst)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:22