Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
protocol_tags.h File Reference

Protocol tag types for compile-time protocol selection. More...

#include <concepts>
#include <string_view>
#include <type_traits>
Include dependency graph for protocol_tags.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::network::protocol::tcp_protocol
 Protocol tag for TCP transport. More...
 
struct  kcenon::network::protocol::udp_protocol
 Protocol tag for UDP transport. More...
 
struct  kcenon::network::protocol::websocket_protocol
 Protocol tag for WebSocket transport. More...
 
struct  kcenon::network::protocol::quic_protocol
 Protocol tag for QUIC transport. More...
 
struct  kcenon::network::protocol::is_connection_oriented< P >
 Type trait to check if a protocol is connection-oriented. More...
 
struct  kcenon::network::protocol::is_reliable< P >
 Type trait to check if a protocol is reliable. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::network
 Main namespace for all Network System components.
 
namespace  kcenon::network::protocol
 

Concepts

concept  kcenon::network::protocol::Protocol
 Concept that constrains types to be valid protocol tags.
 

Variables

template<Protocol P>
constexpr bool kcenon::network::protocol::is_connection_oriented_v = P::is_connection_oriented
 Helper variable template to check if protocol is connection-oriented.
 
template<Protocol P>
constexpr bool kcenon::network::protocol::is_reliable_v = P::is_reliable
 Helper variable template to check if protocol is reliable.
 
template<Protocol P>
constexpr std::string_view kcenon::network::protocol::protocol_name_v = P::name
 Helper variable template to get protocol name.
 

Detailed Description

Protocol tag types for compile-time protocol selection.

Protocol tag types and the Protocol concept.

See also
concepts/ For Protocol concept constraints

Defines compile-time protocol tags (tcp_protocol, udp_protocol, etc.) with C++20 concept constraints for protocol metadata.

Definition in file protocol_tags.h.