Classes | Namespaces | Macros | Typedefs | Functions | Variables
hpack_parser.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
#include <assert.h>
#include <inttypes.h>
#include <stddef.h>
#include <stdlib.h>
#include <algorithm>
#include <cstdint>
#include <string>
#include <utility>
#include "absl/base/attributes.h"
#include "absl/status/status.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "absl/types/span.h"
#include "absl/types/variant.h"
#include <grpc/status.h>
#include <grpc/support/log.h>
#include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
#include "src/core/ext/transport/chttp2/transport/hpack_constants.h"
#include "src/core/ext/transport/chttp2/transport/internal.h"
#include "src/core/lib/debug/stats.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/combiner.h"
#include "src/core/lib/profiling/timers.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/slice/slice_refcount_base.h"
#include "src/core/lib/transport/http2_errors.h"
#include "src/core/lib/transport/parsed_metadata.h"
#include "src/core/lib/transport/transport.h"
Include dependency graph for hpack_parser.cc:

Go to the source code of this file.

Classes

class  grpc_core::HPackParser::Input
 
class  grpc_core::HPackParser::Parser
 
class  grpc_core::HPackParser::String
 
struct  grpc_core::HPackParser::Input::StringPrefix
 

Namespaces

 grpc_core
 

Macros

#define GRPC_HPACK_CONSTEXPR_FN
 
#define GRPC_HPACK_CONSTEXPR_VALUE   const
 

Typedefs

typedef void(* maybe_complete_func_type) (grpc_chttp2_transport *t, grpc_chttp2_stream *s)
 

Functions

static void force_client_rst_stream (void *sp, grpc_error_handle)
 
grpc_error_handle grpc_chttp2_header_parser_parse (void *hpack_parser, grpc_chttp2_transport *t, grpc_chttp2_stream *s, const grpc_slice &slice, int is_last)
 

Variables

static const int16_t grpc_core::emit_sub_tbl [249 *16]
 
static const uint16_t grpc_core::emit_tbl [256]
 
TraceFlag grpc_core::grpc_trace_chttp2_hpack_parser (false, "chttp2_hpack_parser")
 
static const maybe_complete_func_type maybe_complete_funcs []
 
static const int16_t grpc_core::next_sub_tbl [48 *16]
 
static const uint8_t grpc_core::next_tbl [256]
 

Macro Definition Documentation

◆ GRPC_HPACK_CONSTEXPR_FN

#define GRPC_HPACK_CONSTEXPR_FN

Definition at line 66 of file hpack_parser.cc.

◆ GRPC_HPACK_CONSTEXPR_VALUE

#define GRPC_HPACK_CONSTEXPR_VALUE   const

Definition at line 67 of file hpack_parser.cc.

Typedef Documentation

◆ maybe_complete_func_type

typedef void(* maybe_complete_func_type) (grpc_chttp2_transport *t, grpc_chttp2_stream *s)

Definition at line 1335 of file hpack_parser.cc.

Function Documentation

◆ force_client_rst_stream()

static void force_client_rst_stream ( void *  sp,
grpc_error_handle   
)
static

Definition at line 1341 of file hpack_parser.cc.

◆ grpc_chttp2_header_parser_parse()

grpc_error_handle grpc_chttp2_header_parser_parse ( void *  hpack_parser,
grpc_chttp2_transport t,
grpc_chttp2_stream s,
const grpc_slice slice,
int  is_last 
)

Definition at line 1353 of file hpack_parser.cc.

Variable Documentation

◆ maybe_complete_funcs

const maybe_complete_func_type maybe_complete_funcs[]
static

◆ table

uint8_t table[256] {}

Definition at line 456 of file hpack_parser.cc.

grpc_chttp2_maybe_complete_recv_trailing_metadata
void grpc_chttp2_maybe_complete_recv_trailing_metadata(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
Definition: chttp2_transport.cc:2025
grpc_chttp2_maybe_complete_recv_initial_metadata
void grpc_chttp2_maybe_complete_recv_initial_metadata(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
Definition: chttp2_transport.cc:1934


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