libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol > Class Template Referencefinal

A class that wraps a link from an exchange to a client. More...

#include <connection.hpp>

Public Types

using msg_processor_t = jmmcg::socket::msg_processor< ExchgToClientProcessingRules >
 
using proc_rules_t = typename msg_processor_t::proc_rules_t
 
using msg_details_t = typename proc_rules_t::src_msg_details_t
 
using connection_t = connection< msg_details_t, ConnPol >
 
using conn_pol_t = typename connection_t::conn_pol_t
 
using socket_t = typename proc_rules_t::socket_t
 
using ctor_args = typename connection_t::ctor_args
 

Public Member Functions

 connection_processor (ctor_args const &details, typename socket_t::socket_priority priority, std::size_t incoming_cpu, proc_rules_t const &proc_rules) noexcept(false)
 
 ~connection_processor () noexcept(false)
 
template<class LatencyTimestamps >
bool read_and_process_a_msg (LatencyTimestamps &ts) noexcept(false)
 
template<class LatencyTimestamps >
bool read_and_process_a_msg (socket_t &dest_link, LatencyTimestamps &ts) noexcept(false)
 
socket_tsocket () noexcept(true)
 
void stop ()
 
bool is_logged_on () const noexcept(true)
 
std::string to_string () const noexcept(false)
 

Detailed Description

template<class ExchgToClientProcessingRules, class ConnPol>
class isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >

A class that wraps a link from an exchange to a client.

Definition at line 150 of file connection.hpp.

Member Typedef Documentation

◆ conn_pol_t

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::conn_pol_t = typename connection_t::conn_pol_t

Definition at line 156 of file connection.hpp.

◆ connection_t

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::connection_t = connection<msg_details_t, ConnPol>

Definition at line 155 of file connection.hpp.

◆ ctor_args

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::ctor_args = typename connection_t::ctor_args

Definition at line 158 of file connection.hpp.

◆ msg_details_t

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::msg_details_t = typename proc_rules_t::src_msg_details_t

Definition at line 154 of file connection.hpp.

◆ msg_processor_t

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::msg_processor_t = jmmcg::socket::msg_processor<ExchgToClientProcessingRules>

Definition at line 152 of file connection.hpp.

◆ proc_rules_t

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::proc_rules_t = typename msg_processor_t::proc_rules_t

Definition at line 153 of file connection.hpp.

◆ socket_t

template<class ExchgToClientProcessingRules , class ConnPol >
using isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::socket_t = typename proc_rules_t::socket_t

Definition at line 157 of file connection.hpp.

Constructor & Destructor Documentation

◆ connection_processor()

template<class ExchgToClientProcessingRules , class ConnPol >
isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::connection_processor ( ctor_args const &  details,
typename socket_t::socket_priority  priority,
std::size_t  incoming_cpu,
proc_rules_t const &  proc_rules 
)
inlinenoexcept

Definition at line 125 of file connection_impl.hpp.

◆ ~connection_processor()

template<class ExchgToClientProcessingRules , class ConnPol >
isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::~connection_processor ( )
inlinenoexcept

Definition at line 138 of file connection_impl.hpp.

Member Function Documentation

◆ is_logged_on()

template<class ExchgToClientProcessingRules , class ConnPol >
bool isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::is_logged_on ( ) const
inlinenoexcept

Definition at line 175 of file connection.hpp.

◆ read_and_process_a_msg() [1/2]

template<class ExchgToClientProcessingRules , class ConnPol >
template<class LatencyTimestamps >
bool isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::read_and_process_a_msg ( LatencyTimestamps &  ts)
inlinenoexcept

Definition at line 153 of file connection_impl.hpp.

◆ read_and_process_a_msg() [2/2]

template<class ExchgToClientProcessingRules , class ConnPol >
template<class LatencyTimestamps >
bool isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::read_and_process_a_msg ( socket_t dest_link,
LatencyTimestamps &  ts 
)
inlinenoexcept

Definition at line 160 of file connection_impl.hpp.

◆ socket()

template<class ExchgToClientProcessingRules , class ConnPol >
socket_t& isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::socket ( )
inlinenoexcept

Definition at line 168 of file connection.hpp.

◆ stop()

template<class ExchgToClientProcessingRules , class ConnPol >
void isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::stop ( )
inline

Definition at line 166 of file connection_impl.hpp.

◆ to_string()

template<class ExchgToClientProcessingRules , class ConnPol >
std::string isimud::exchanges::common::connection_processor< ExchgToClientProcessingRules, ConnPol >::to_string ( ) const
inlinenoexcept

Definition at line 172 of file connection_impl.hpp.


The documentation for this class was generated from the following files: