Functions
parsing.cc File Reference
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <string.h>
#include <string>
#include "absl/base/attributes.h"
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include <grpc/slice.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/flow_control.h"
#include "src/core/ext/transport/chttp2/transport/frame.h"
#include "src/core/ext/transport/chttp2/transport/frame_data.h"
#include "src/core/ext/transport/chttp2/transport/frame_goaway.h"
#include "src/core/ext/transport/chttp2/transport/frame_ping.h"
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include "src/core/ext/transport/chttp2/transport/frame_settings.h"
#include "src/core/ext/transport/chttp2/transport/frame_window_update.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser_table.h"
#include "src/core/ext/transport/chttp2/transport/http2_settings.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/ext/transport/chttp2/transport/stream_map.h"
#include "src/core/lib/channel/channelz.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/transport/bdp_estimator.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
Include dependency graph for parsing.cc:

Go to the source code of this file.

Functions

static char get_utf8_safe_char (char c)
 
void grpc_chttp2_parsing_become_skip_parser (grpc_chttp2_transport *t)
 
grpc_error_handle grpc_chttp2_perform_read (grpc_chttp2_transport *t, const grpc_slice &slice)
 
static HPackParser::Boundary hpack_boundary_type (grpc_chttp2_transport *t, bool is_eoh)
 
static HPackParser::LogInfo hpack_parser_log_info (grpc_chttp2_transport *t, HPackParser::LogInfo::Type type)
 
static grpc_error_handle init_data_frame_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_frame_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_goaway_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_header_frame_parser (grpc_chttp2_transport *t, int is_continuation)
 
static grpc_error_handle init_header_skip_frame_parser (grpc_chttp2_transport *t, HPackParser::Priority priority_type)
 
static grpc_error_handle init_non_header_skip_frame_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_ping_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_rst_stream_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_settings_frame_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle init_window_update_frame_parser (grpc_chttp2_transport *t)
 
static grpc_error_handle parse_frame_slice (grpc_chttp2_transport *t, const grpc_slice &slice, int is_last)
 
static grpc_error_handle skip_parser (void *, grpc_chttp2_transport *, grpc_chttp2_stream *, const grpc_slice &, int)
 

Function Documentation

◆ get_utf8_safe_char()

static char get_utf8_safe_char ( char  c)
static

Definition at line 78 of file parsing.cc.

◆ grpc_chttp2_parsing_become_skip_parser()

void grpc_chttp2_parsing_become_skip_parser ( grpc_chttp2_transport t)

Definition at line 377 of file parsing.cc.

◆ grpc_chttp2_perform_read()

grpc_error_handle grpc_chttp2_perform_read ( grpc_chttp2_transport t,
const grpc_slice slice 
)

Process one slice of incoming data; return 1 if the connection is still viable after reading, or 0 if the connection should be torn down

Definition at line 82 of file parsing.cc.

◆ hpack_boundary_type()

static HPackParser::Boundary hpack_boundary_type ( grpc_chttp2_transport t,
bool  is_eoh 
)
static

Definition at line 335 of file parsing.cc.

◆ hpack_parser_log_info()

static HPackParser::LogInfo hpack_parser_log_info ( grpc_chttp2_transport t,
HPackParser::LogInfo::Type  type 
)
static

Definition at line 348 of file parsing.cc.

◆ init_data_frame_parser()

static grpc_error_handle init_data_frame_parser ( grpc_chttp2_transport t)
static

Definition at line 385 of file parsing.cc.

◆ init_frame_parser()

static grpc_error_handle init_frame_parser ( grpc_chttp2_transport t)
static

Definition at line 279 of file parsing.cc.

◆ init_goaway_parser()

static grpc_error_handle init_goaway_parser ( grpc_chttp2_transport t)
static

Definition at line 627 of file parsing.cc.

◆ init_header_frame_parser()

static grpc_error_handle init_header_frame_parser ( grpc_chttp2_transport t,
int  is_continuation 
)
static

Definition at line 446 of file parsing.cc.

◆ init_header_skip_frame_parser()

static grpc_error_handle init_header_skip_frame_parser ( grpc_chttp2_transport t,
HPackParser::Priority  priority_type 
)
static

Definition at line 357 of file parsing.cc.

◆ init_non_header_skip_frame_parser()

static grpc_error_handle init_non_header_skip_frame_parser ( grpc_chttp2_transport t)
static

Definition at line 371 of file parsing.cc.

◆ init_ping_parser()

static grpc_error_handle init_ping_parser ( grpc_chttp2_transport t)
static

Definition at line 603 of file parsing.cc.

◆ init_rst_stream_parser()

static grpc_error_handle init_rst_stream_parser ( grpc_chttp2_transport t)
static

Definition at line 612 of file parsing.cc.

◆ init_settings_frame_parser()

static grpc_error_handle init_settings_frame_parser ( grpc_chttp2_transport t)
static

Definition at line 636 of file parsing.cc.

◆ init_window_update_frame_parser()

static grpc_error_handle init_window_update_frame_parser ( grpc_chttp2_transport t)
static

Definition at line 584 of file parsing.cc.

◆ parse_frame_slice()

static grpc_error_handle parse_frame_slice ( grpc_chttp2_transport t,
const grpc_slice slice,
int  is_last 
)
static

Definition at line 664 of file parsing.cc.

◆ skip_parser()

static grpc_error_handle skip_parser ( void *  ,
grpc_chttp2_transport ,
grpc_chttp2_stream ,
const grpc_slice ,
int   
)
static

Definition at line 327 of file parsing.cc.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:25