Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
connection.h File Reference
#include "congestion_controller.h"
#include "kcenon/network/detail/protocols/quic/connection_id.h"
#include "connection_id_manager.h"
#include "crypto.h"
#include "flow_control.h"
#include "frame.h"
#include "loss_detector.h"
#include "packet.h"
#include "pmtud_controller.h"
#include "rtt_estimator.h"
#include "stream_manager.h"
#include "transport_params.h"
#include "kcenon/network/detail/utils/result_types.h"
#include <chrono>
#include <deque>
#include <functional>
#include <map>
#include <memory>
#include <mutex>
#include <optional>
#include <span>
#include <string>
#include <vector>
Include dependency graph for connection.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::network::protocols::quic::sent_packet_info
 Information about a sent packet for loss detection. More...
 
struct  kcenon::network::protocols::quic::packet_number_space
 State for each packet number space (Initial, Handshake, Application) More...
 
class  kcenon::network::protocols::quic::connection
 QUIC connection state machine (RFC 9000 Section 5) 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::connection_error
 

Enumerations

enum class  kcenon::network::protocols::quic::connection_state {
  kcenon::network::protocols::quic::idle , kcenon::network::protocols::quic::handshaking , kcenon::network::protocols::quic::connected , kcenon::network::protocols::quic::closing ,
  kcenon::network::protocols::quic::draining , kcenon::network::protocols::quic::closed
}
 QUIC connection state (RFC 9000 Section 5) More...
 
enum class  kcenon::network::protocols::quic::handshake_state { kcenon::network::protocols::quic::initial , kcenon::network::protocols::quic::waiting_server_hello , kcenon::network::protocols::quic::waiting_finished , kcenon::network::protocols::quic::complete }
 TLS handshake state. More...
 

Functions

auto kcenon::network::protocols::quic::connection_state_to_string (connection_state state) -> const char *
 Convert connection state to string.
 
auto kcenon::network::protocols::quic::handshake_state_to_string (handshake_state state) -> const char *
 Convert handshake state to string.
 

Variables

constexpr int kcenon::network::protocols::quic::connection_error::not_established = -730
 
constexpr int kcenon::network::protocols::quic::connection_error::handshake_failed = -731
 
constexpr int kcenon::network::protocols::quic::connection_error::invalid_state = -732
 
constexpr int kcenon::network::protocols::quic::connection_error::protocol_violation = -733
 
constexpr int kcenon::network::protocols::quic::connection_error::connection_refused = -734
 
constexpr int kcenon::network::protocols::quic::connection_error::idle_timeout = -735
 
constexpr int kcenon::network::protocols::quic::connection_error::connection_closed = -736