Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::protocol::Protocol Concept Reference

Concept that constrains types to be valid protocol tags. More...

#include <protocol_tags.h>

Concept definition

template<typename T>
{ T::name } -> std::convertible_to<std::string_view>;
{ T::is_connection_oriented } -> std::convertible_to<bool>;
{ T::is_reliable } -> std::convertible_to<bool>;
}
Concept that constrains types to be valid protocol tags.

Detailed Description

Concept that constrains types to be valid protocol tags.

A valid protocol tag must have:

  • A static constexpr name member convertible to std::string_view
  • A static constexpr bool is_connection_oriented member
  • A static constexpr bool is_reliable member

Satisfied Types

  • tcp_protocol
  • udp_protocol
  • websocket_protocol
  • quic_protocol

Usage

template<Protocol P, TlsPolicy T = no_tls>
class messaging_client { ... };

Definition at line 126 of file protocol_tags.h.