Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc_core::HPackParser Class Reference

#include <hpack_parser.h>

Classes

class  Input
 
struct  LogInfo
 
class  Parser
 
class  String
 

Public Types

enum  Boundary : uint8_t { Boundary::None, Boundary::EndOfHeaders, Boundary::EndOfStream }
 
enum  Priority : uint8_t { Priority::None, Priority::Included }
 

Public Member Functions

void BeginFrame (grpc_metadata_batch *metadata_buffer, uint32_t metadata_size_limit, Boundary boundary, Priority priority, LogInfo log_info)
 
void FinishFrame ()
 
HPackTablehpack_table ()
 
 HPackParser ()
 
 HPackParser (const HPackParser &)=delete
 
bool is_boundary () const
 
bool is_eof () const
 
HPackParseroperator= (const HPackParser &)=delete
 
grpc_error_handle Parse (const grpc_slice &slice, bool is_last)
 
void StopBufferingFrame ()
 
 ~HPackParser ()
 

Private Member Functions

grpc_error_handle ParseInput (Input input, bool is_last)
 
bool ParseInputInner (Input *input)
 

Private Attributes

Boundary boundary_
 
uint8_t dynamic_table_updates_allowed_
 
uint32_t frame_length_
 
LogInfo log_info_
 
grpc_metadata_batchmetadata_buffer_ = nullptr
 
uint32_t metadata_size_limit_
 
Priority priority_
 
HPackTable table_
 
std::vector< uint8_tunparsed_bytes_
 

Detailed Description

Definition at line 40 of file hpack_parser.h.

Member Enumeration Documentation

◆ Boundary

Enumerator
None 
EndOfHeaders 
EndOfStream 

Definition at line 43 of file hpack_parser.h.

◆ Priority

Enumerator
None 
Included 

Definition at line 52 of file hpack_parser.h.

Constructor & Destructor Documentation

◆ HPackParser() [1/2]

grpc_core::HPackParser::HPackParser ( )
default

◆ ~HPackParser()

grpc_core::HPackParser::~HPackParser ( )
default

◆ HPackParser() [2/2]

grpc_core::HPackParser::HPackParser ( const HPackParser )
delete

Member Function Documentation

◆ BeginFrame()

void grpc_core::HPackParser::BeginFrame ( grpc_metadata_batch metadata_buffer,
uint32_t  metadata_size_limit,
Boundary  boundary,
Priority  priority,
LogInfo  log_info 
)

Definition at line 1265 of file hpack_parser.cc.

◆ FinishFrame()

void grpc_core::HPackParser::FinishFrame ( )

Definition at line 1328 of file hpack_parser.cc.

◆ hpack_table()

HPackTable* grpc_core::HPackParser::hpack_table ( )
inline

Definition at line 93 of file hpack_parser.h.

◆ is_boundary()

bool grpc_core::HPackParser::is_boundary ( ) const
inline

Definition at line 95 of file hpack_parser.h.

◆ is_eof()

bool grpc_core::HPackParser::is_eof ( ) const
inline

Definition at line 97 of file hpack_parser.h.

◆ operator=()

HPackParser& grpc_core::HPackParser::operator= ( const HPackParser )
delete

◆ Parse()

grpc_error_handle grpc_core::HPackParser::Parse ( const grpc_slice slice,
bool  is_last 
)

Definition at line 1277 of file hpack_parser.cc.

◆ ParseInput()

grpc_error_handle grpc_core::HPackParser::ParseInput ( Input  input,
bool  is_last 
)
private

Definition at line 1290 of file hpack_parser.cc.

◆ ParseInputInner()

bool grpc_core::HPackParser::ParseInputInner ( Input input)
private

Definition at line 1305 of file hpack_parser.cc.

◆ StopBufferingFrame()

void grpc_core::HPackParser::StopBufferingFrame ( )
inline

Definition at line 86 of file hpack_parser.h.

Member Data Documentation

◆ boundary_

Boundary grpc_core::HPackParser::boundary_
private

Definition at line 116 of file hpack_parser.h.

◆ dynamic_table_updates_allowed_

uint8_t grpc_core::HPackParser::dynamic_table_updates_allowed_
private

Definition at line 121 of file hpack_parser.h.

◆ frame_length_

uint32_t grpc_core::HPackParser::frame_length_
private

Definition at line 123 of file hpack_parser.h.

◆ log_info_

LogInfo grpc_core::HPackParser::log_info_
private

Definition at line 126 of file hpack_parser.h.

◆ metadata_buffer_

grpc_metadata_batch* grpc_core::HPackParser::metadata_buffer_ = nullptr
private

Definition at line 109 of file hpack_parser.h.

◆ metadata_size_limit_

uint32_t grpc_core::HPackParser::metadata_size_limit_
private

Definition at line 124 of file hpack_parser.h.

◆ priority_

Priority grpc_core::HPackParser::priority_
private

Definition at line 120 of file hpack_parser.h.

◆ table_

HPackTable grpc_core::HPackParser::table_
private

Definition at line 129 of file hpack_parser.h.

◆ unparsed_bytes_

std::vector<uint8_t> grpc_core::HPackParser::unparsed_bytes_
private

Definition at line 112 of file hpack_parser.h.


The documentation for this class was generated from the following files:


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