GRPC C++  1.39.1
Macros | Functions
varint.h File Reference
#include <grpc/support/port_platform.h>

Go to the source code of this file.

Macros

#define GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)    ((uint32_t)((1 << (8 - (prefix_bits))) - 1))
 
#define GRPC_CHTTP2_VARINT_LENGTH(n, prefix_bits)
 
#define GRPC_CHTTP2_WRITE_VARINT(n, prefix_bits, prefix_or, target, length)
 

Functions

uint32_t grpc_chttp2_hpack_varint_length (uint32_t tail_value)
 
void grpc_chttp2_hpack_write_varint_tail (uint32_t tail_value, uint8_t *target, uint32_t tail_length)
 

Macro Definition Documentation

◆ GRPC_CHTTP2_MAX_IN_PREFIX

#define GRPC_CHTTP2_MAX_IN_PREFIX (   prefix_bits)     ((uint32_t)((1 << (8 - (prefix_bits))) - 1))

◆ GRPC_CHTTP2_VARINT_LENGTH

#define GRPC_CHTTP2_VARINT_LENGTH (   n,
  prefix_bits 
)
Value:
((n) < GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits) \
? 1u \
(n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)))
#define GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)
Definition: varint.h:37
uint32_t grpc_chttp2_hpack_varint_length(uint32_t tail_value)
Definition: varint.cc:23

◆ GRPC_CHTTP2_WRITE_VARINT

#define GRPC_CHTTP2_WRITE_VARINT (   n,
  prefix_bits,
  prefix_or,
  target,
  length 
)
Value:
do { \
uint8_t* tgt = target; \
if ((length) == 1u) { \
(tgt)[0] = (uint8_t)((prefix_or) | (n)); \
} else { \
(tgt)[0] = \
(prefix_or) | (uint8_t)GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits); \
grpc_chttp2_hpack_write_varint_tail( \
(n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits), (tgt) + 1, (length)-1); \
} \
} while (0)

Function Documentation

◆ grpc_chttp2_hpack_varint_length()

uint32_t grpc_chttp2_hpack_varint_length ( uint32_t  tail_value)

◆ grpc_chttp2_hpack_write_varint_tail()

void grpc_chttp2_hpack_write_varint_tail ( uint32_t  tail_value,
uint8_t *  target,
uint32_t  tail_length 
)