Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
session_model.h File Reference
#include "internal/core/session_concept.h"
#include "internal/core/session_traits.h"
#include <memory>
#include <type_traits>
Include dependency graph for session_model.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kcenon::network::core::session_model< SessionType >
 Template that wraps concrete session types to implement session_concept. More...
 
struct  kcenon::network::core::session_model< SessionType >::has_id_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_id_method< T, std::void_t< decltype(std::declval< const T & >().id())> >
 
struct  kcenon::network::core::session_model< SessionType >::has_server_id_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_server_id_method< T, std::void_t< decltype(std::declval< const T & >().server_id())> >
 
struct  kcenon::network::core::session_model< SessionType >::has_is_connected_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_is_connected_method< T, std::void_t< decltype(std::declval< const T & >().is_connected())> >
 
struct  kcenon::network::core::session_model< SessionType >::has_is_stopped_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_is_stopped_method< T, std::void_t< decltype(std::declval< const T & >().is_stopped())> >
 
struct  kcenon::network::core::session_model< SessionType >::has_send_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_send_method< T, std::void_t< decltype(std::declval< T & >().send(std::declval< std::vector< uint8_t > && >()))> >
 
struct  kcenon::network::core::session_model< SessionType >::has_send_packet_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_send_packet_method< T, std::void_t< decltype(std::declval< T & >().send_packet(std::declval< std::vector< uint8_t > && >()))> >
 
struct  kcenon::network::core::session_model< SessionType >::has_close_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_close_method< T, std::void_t< decltype(std::declval< T & >().close())> >
 
struct  kcenon::network::core::session_model< SessionType >::has_stop_session_method< T, typename >
 
struct  kcenon::network::core::session_model< SessionType >::has_stop_session_method< T, std::void_t< decltype(std::declval< T & >().stop_session())> >
 

Namespaces

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

Functions

template<typename SessionType >
auto kcenon::network::core::make_session_model (std::shared_ptr< SessionType > session) -> std::unique_ptr< session_concept >
 Factory function to create a session_model.