GRPC Core  0.10.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Enumerations | Functions
hpack_parser.c File Reference
#include "src/core/transport/chttp2/hpack_parser.h"
#include "src/core/transport/chttp2/internal.h"
#include <stddef.h>
#include <string.h>
#include <assert.h>
#include "src/core/transport/chttp2/bin_encoder.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
#include <grpc/support/useful.h>

Enumerations

enum  binary_state {
  NOT_BINARY, B64_BYTE0, B64_BYTE1, B64_BYTE2,
  B64_BYTE3
}
 
enum  first_byte_type {
  INDEXED_FIELD, INDEXED_FIELD_X, LITHDR_INCIDX, LITHDR_INCIDX_X,
  LITHDR_INCIDX_V, LITHDR_NOTIDX, LITHDR_NOTIDX_X, LITHDR_NOTIDX_V,
  LITHDR_NVRIDX, LITHDR_NVRIDX_X, LITHDR_NVRIDX_V, MAX_TBL_SIZE,
  MAX_TBL_SIZE_X, ILLEGAL
}
 
enum  is_binary_header { BINARY_HEADER, PLAINTEXT_HEADER, ERROR_HEADER }
 

Functions

void grpc_chttp2_hpack_parser_init (grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx)
 
void grpc_chttp2_hpack_parser_set_has_priority (grpc_chttp2_hpack_parser *p)
 
void grpc_chttp2_hpack_parser_destroy (grpc_chttp2_hpack_parser *p)
 
int grpc_chttp2_hpack_parser_parse (grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
 
grpc_chttp2_parse_error grpc_chttp2_header_parser_parse (void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 

Enumeration Type Documentation

Enumerator
NOT_BINARY 
B64_BYTE0 
B64_BYTE1 
B64_BYTE2 
B64_BYTE3 
Enumerator
INDEXED_FIELD 
INDEXED_FIELD_X 
LITHDR_INCIDX 
LITHDR_INCIDX_X 
LITHDR_INCIDX_V 
LITHDR_NOTIDX 
LITHDR_NOTIDX_X 
LITHDR_NOTIDX_V 
LITHDR_NVRIDX 
LITHDR_NVRIDX_X 
LITHDR_NVRIDX_V 
MAX_TBL_SIZE 
MAX_TBL_SIZE_X 
ILLEGAL 
Enumerator
BINARY_HEADER 
PLAINTEXT_HEADER 
ERROR_HEADER 

Function Documentation

grpc_chttp2_parse_error grpc_chttp2_header_parser_parse ( void *  hpack_parser,
grpc_chttp2_transport_parsing transport_parsing,
grpc_chttp2_stream_parsing stream_parsing,
gpr_slice  slice,
int  is_last 
)
void grpc_chttp2_hpack_parser_destroy ( grpc_chttp2_hpack_parser p)
void grpc_chttp2_hpack_parser_init ( grpc_chttp2_hpack_parser p,
grpc_mdctx mdctx 
)
int grpc_chttp2_hpack_parser_parse ( grpc_chttp2_hpack_parser p,
const gpr_uint8 beg,
const gpr_uint8 end 
)
void grpc_chttp2_hpack_parser_set_has_priority ( grpc_chttp2_hpack_parser p)