|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
SETTINGS frame (RFC 7540 Section 6.5) More...
#include <frame.h>


Public Member Functions | |
| settings_frame (std::vector< setting_parameter > settings={}, bool ack=false) | |
| Construct SETTINGS frame. | |
| auto | settings () const -> const std::vector< setting_parameter > & |
| Get settings parameters. | |
| auto | is_ack () const -> bool |
| Check if this is an ACK frame. | |
Public Member Functions inherited from kcenon::network::protocols::http2::frame | |
| frame ()=default | |
| Default constructor. | |
| frame (const frame_header &hdr, std::vector< uint8_t > payload) | |
| Construct frame with header and payload. | |
| auto | serialize () const -> std::vector< uint8_t > |
| Serialize frame to bytes. | |
| auto | header () const -> const frame_header & |
| Get frame header. | |
| auto | payload () const -> std::span< const uint8_t > |
| Get frame payload. | |
| virtual | ~frame ()=default |
| Virtual destructor. | |
Static Public Member Functions | |
| static auto | parse (const frame_header &hdr, std::span< const uint8_t > payload) -> Result< std::unique_ptr< settings_frame > > |
| Parse SETTINGS frame from raw bytes. | |
Static Public Member Functions inherited from kcenon::network::protocols::http2::frame | |
| static auto | parse (std::span< const uint8_t > data) -> Result< std::unique_ptr< frame > > |
| Parse frame from raw bytes. | |
Private Attributes | |
| std::vector< setting_parameter > | settings_ |
| Settings parameters. | |
Additional Inherited Members | |
Protected Attributes inherited from kcenon::network::protocols::http2::frame | |
| frame_header | header_ |
| Frame header. | |
| std::vector< uint8_t > | payload_ |
| Frame payload. | |
SETTINGS frame (RFC 7540 Section 6.5)
SETTINGS frames convey configuration parameters that affect how endpoints communicate.
|
explicit |
Construct SETTINGS frame.
| settings | Vector of settings parameters |
| ack | True if this is an acknowledgment |
Definition at line 353 of file frame.cpp.
References kcenon::network::protocols::http2::frame_flags::ack, kcenon::network::protocols::http2::frame_header::flags, kcenon::network::protocols::http2::frame::header_, kcenon::network::protocols::http2::frame_header::length, kcenon::network::protocols::http2::frame_flags::none, kcenon::network::protocols::http2::frame::payload_, kcenon::network::protocols::http2::settings, settings_, kcenon::network::protocols::http2::frame_header::stream_id, and kcenon::network::protocols::http2::frame_header::type.
| auto kcenon::network::protocols::http2::settings_frame::is_ack | ( | ) | const -> bool |
Check if this is an ACK frame.
Definition at line 416 of file frame.cpp.
References kcenon::network::protocols::http2::frame_flags::ack, kcenon::network::protocols::http2::frame_header::flags, and kcenon::network::protocols::http2::frame::header_.
|
static |
Parse SETTINGS frame from raw bytes.
| hdr | Frame header (must be SETTINGS type) |
| payload | Frame payload |
Definition at line 375 of file frame.cpp.
References kcenon::network::protocols::http2::frame_flags::ack, and kcenon::network::protocols::http2::settings.
Referenced by kcenon::network::protocols::http2::frame::parse().

| auto kcenon::network::protocols::http2::settings_frame::settings | ( | ) | const -> const std::vector<setting_parameter>& |
|
private |
Settings parameters.
Definition at line 297 of file frame.h.
Referenced by settings(), and settings_frame().