Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
stream.h File Reference
#include "frame_types.h"
#include "kcenon/network/detail/utils/result_types.h"
#include <cstdint>
#include <deque>
#include <map>
#include <mutex>
#include <optional>
#include <span>
#include <vector>
Include dependency graph for stream.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kcenon::network::protocols::quic::stream
 QUIC stream implementation (RFC 9000 Sections 2-4) More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::network
 Main namespace for all Network System components.
 
namespace  kcenon::network::protocols
 
namespace  kcenon::network::protocols::quic
 
namespace  kcenon::network::protocols::quic::stream_id_type
 Stream ID type information.
 
namespace  kcenon::network::protocols::quic::stream_error
 Stream error codes.
 

Enumerations

enum class  kcenon::network::protocols::quic::send_stream_state {
  kcenon::network::protocols::quic::ready , kcenon::network::protocols::quic::send , kcenon::network::protocols::quic::data_sent , kcenon::network::protocols::quic::reset_sent ,
  kcenon::network::protocols::quic::reset_recvd , kcenon::network::protocols::quic::data_recvd
}
 Stream state for sending (RFC 9000 Section 3.1) More...
 
enum class  kcenon::network::protocols::quic::recv_stream_state {
  kcenon::network::protocols::quic::recv , kcenon::network::protocols::quic::size_known , kcenon::network::protocols::quic::data_recvd , kcenon::network::protocols::quic::reset_recvd ,
  kcenon::network::protocols::quic::data_read , kcenon::network::protocols::quic::reset_read
}
 Stream state for receiving (RFC 9000 Section 3.2) More...
 

Functions

constexpr auto kcenon::network::protocols::quic::stream_id_type::is_client_initiated (uint64_t stream_id) noexcept -> bool
 Check if stream is client-initiated.
 
constexpr auto kcenon::network::protocols::quic::stream_id_type::is_server_initiated (uint64_t stream_id) noexcept -> bool
 Check if stream is server-initiated.
 
constexpr auto kcenon::network::protocols::quic::stream_id_type::is_bidirectional (uint64_t stream_id) noexcept -> bool
 Check if stream is bidirectional.
 
constexpr auto kcenon::network::protocols::quic::stream_id_type::is_unidirectional (uint64_t stream_id) noexcept -> bool
 Check if stream is unidirectional.
 
constexpr auto kcenon::network::protocols::quic::stream_id_type::get_type (uint64_t stream_id) noexcept -> uint64_t
 Get stream type bits (0-3)
 
constexpr auto kcenon::network::protocols::quic::stream_id_type::get_sequence (uint64_t stream_id) noexcept -> uint64_t
 Get stream sequence number (stream_id >> 2)
 
constexpr auto kcenon::network::protocols::quic::stream_id_type::make_stream_id (uint64_t type, uint64_t sequence) noexcept -> uint64_t
 Make stream ID from type and sequence number.
 
auto kcenon::network::protocols::quic::send_state_to_string (send_stream_state state) -> const char *
 Get string representation of send stream state.
 
auto kcenon::network::protocols::quic::recv_state_to_string (recv_stream_state state) -> const char *
 Get string representation of receive stream state.
 

Variables

constexpr uint64_t kcenon::network::protocols::quic::stream_id_type::client_bidi = 0x00
 
constexpr uint64_t kcenon::network::protocols::quic::stream_id_type::server_bidi = 0x01
 
constexpr uint64_t kcenon::network::protocols::quic::stream_id_type::client_uni = 0x02
 
constexpr uint64_t kcenon::network::protocols::quic::stream_id_type::server_uni = 0x03
 
constexpr int kcenon::network::protocols::quic::stream_error::invalid_stream_id = -700
 
constexpr int kcenon::network::protocols::quic::stream_error::stream_not_found = -701
 
constexpr int kcenon::network::protocols::quic::stream_error::stream_limit_exceeded = -702
 
constexpr int kcenon::network::protocols::quic::stream_error::flow_control_error = -703
 
constexpr int kcenon::network::protocols::quic::stream_error::final_size_error = -704
 
constexpr int kcenon::network::protocols::quic::stream_error::stream_state_error = -705
 
constexpr int kcenon::network::protocols::quic::stream_error::stream_reset = -706
 
constexpr int kcenon::network::protocols::quic::stream_error::buffer_full = -707