|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
HTTP/2 frame header (9 bytes) More...
#include <frame.h>

Public Member Functions | |
| auto | serialize () const -> std::vector< uint8_t > |
| Serialize frame header to bytes. | |
Static Public Member Functions | |
| static auto | parse (std::span< const uint8_t > data) -> Result< frame_header > |
| Parse frame header from raw bytes. | |
Public Attributes | |
| uint32_t | length |
| Payload length (24 bits) | |
| frame_type | type |
| Frame type. | |
| uint8_t | flags |
| Frame flags. | |
| uint32_t | stream_id |
| Stream identifier (31 bits, MSB reserved) | |
|
static |
Parse frame header from raw bytes.
| data | Raw byte data (at least 9 bytes) |
Definition at line 52 of file frame.cpp.
References kcenon::network::protocols::http2::data, flags, length, kcenon::network::protocols::http2::max_frame_size, stream_id, and type.
Referenced by kcenon::network::protocols::http2::frame::parse(), kcenon::network::protocols::http2::http2_client::read_frame(), and kcenon::network::protocols::http2::http2_server_connection::read_frame_header().

| auto kcenon::network::protocols::http2::frame_header::serialize | ( | ) | const -> std::vector<uint8_t> |
Serialize frame header to bytes.
Definition at line 73 of file frame.cpp.
References flags, length, stream_id, and type.
Referenced by kcenon::network::protocols::http2::frame::serialize().

| uint8_t kcenon::network::protocols::http2::frame_header::flags |
Frame flags.
Definition at line 57 of file frame.h.
Referenced by kcenon::network::protocols::http2::data_frame::data_frame(), kcenon::network::protocols::http2::goaway_frame::goaway_frame(), kcenon::network::protocols::http2::headers_frame::headers_frame(), kcenon::network::protocols::http2::ping_frame::is_ack(), kcenon::network::protocols::http2::settings_frame::is_ack(), kcenon::network::protocols::http2::headers_frame::is_end_headers(), kcenon::network::protocols::http2::data_frame::is_end_stream(), kcenon::network::protocols::http2::headers_frame::is_end_stream(), kcenon::network::protocols::http2::data_frame::is_padded(), parse(), kcenon::network::protocols::http2::ping_frame::ping_frame(), kcenon::network::protocols::http2::rst_stream_frame::rst_stream_frame(), serialize(), kcenon::network::protocols::http2::settings_frame::settings_frame(), and kcenon::network::protocols::http2::window_update_frame::window_update_frame().
| uint32_t kcenon::network::protocols::http2::frame_header::length |
Payload length (24 bits)
Definition at line 55 of file frame.h.
Referenced by kcenon::network::protocols::http2::data_frame::data_frame(), kcenon::network::protocols::http2::goaway_frame::goaway_frame(), kcenon::network::protocols::http2::headers_frame::headers_frame(), parse(), kcenon::network::protocols::http2::ping_frame::ping_frame(), kcenon::network::protocols::http2::rst_stream_frame::rst_stream_frame(), serialize(), kcenon::network::protocols::http2::settings_frame::settings_frame(), and kcenon::network::protocols::http2::window_update_frame::window_update_frame().
| uint32_t kcenon::network::protocols::http2::frame_header::stream_id |
Stream identifier (31 bits, MSB reserved)
Definition at line 58 of file frame.h.
Referenced by kcenon::network::protocols::http2::data_frame::data_frame(), kcenon::network::protocols::http2::goaway_frame::goaway_frame(), kcenon::network::protocols::http2::headers_frame::headers_frame(), parse(), kcenon::network::protocols::http2::ping_frame::ping_frame(), kcenon::network::protocols::http2::rst_stream_frame::rst_stream_frame(), serialize(), kcenon::network::protocols::http2::settings_frame::settings_frame(), and kcenon::network::protocols::http2::window_update_frame::window_update_frame().
| frame_type kcenon::network::protocols::http2::frame_header::type |
Frame type.
Definition at line 56 of file frame.h.
Referenced by kcenon::network::protocols::http2::data_frame::data_frame(), kcenon::network::protocols::http2::goaway_frame::goaway_frame(), kcenon::network::protocols::http2::headers_frame::headers_frame(), parse(), kcenon::network::protocols::http2::ping_frame::ping_frame(), kcenon::network::protocols::http2::rst_stream_frame::rst_stream_frame(), serialize(), kcenon::network::protocols::http2::settings_frame::settings_frame(), and kcenon::network::protocols::http2::window_update_frame::window_update_frame().