libjmmcg  build_2176
A C++ library containing an eclectic mix of useful, advanced components.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT > Class Template Reference

An implementation of the connectivity policy for the BATSBOE protocol. More...

#include <connectivity_policy.hpp>

Collaboration diagram for jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >:
[legend]

Classes

struct  gateways_t
 

Public Types

enum  : unsigned { max_attempts =3 }
 
using logon_args_t = LogonT
 
using endpoint_t = std::pair< boost::asio::ip::address, unsigned short >
 

Public Member Functions

 connectivity_policy (gateways_t const &gws, logon_args_t const &logon, logoff_args_t const &logoff) noexcept(true)
 
template<class ConnectFn >
void operator() (ConnectFn const &cnx) const
 

Public Attributes

const gateways_t gateways
 
const logon_args_t logon_args
 
const logoff_args_t logoff_args
 

Static Public Attributes

static constexpr
std::chrono::seconds 
min_timeout {5}
 

Detailed Description

template<class LogonT>
class jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >

An implementation of the connectivity policy for the BATSBOE protocol.

From section 2.2 "Login, Replay & Sequencing" of the EU & US specifications.

Definition at line 40 of file connectivity_policy.hpp.

Member Typedef Documentation

template<class LogonT >
using jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::endpoint_t = std::pair<boost::asio::ip::address, unsigned short>

Definition at line 43 of file connectivity_policy.hpp.

template<class LogonT >
using jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::logon_args_t = LogonT

Definition at line 42 of file connectivity_policy.hpp.

Member Enumeration Documentation

template<class LogonT >
anonymous enum : unsigned
Enumerator
max_attempts 

Definition at line 54 of file connectivity_policy.hpp.

Constructor & Destructor Documentation

template<class LogonT >
jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::connectivity_policy ( gateways_t const &  gws,
logon_args_t const &  logon,
logoff_args_t const &  logoff 
)
inlineexplicitnoexcept

Definition at line 25 of file connectivity_policy_impl.hpp.

Member Function Documentation

template<class LogonT >
template<class ConnectFn >
void jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::operator() ( ConnectFn const &  cnx) const
inline

Definition at line 30 of file connectivity_policy_impl.hpp.

Member Data Documentation

template<class LogonT >
const gateways_t jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::gateways

Definition at line 58 of file connectivity_policy.hpp.

template<class LogonT >
const logoff_args_t jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::logoff_args

Definition at line 60 of file connectivity_policy.hpp.

template<class LogonT >
const logon_args_t jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::logon_args

Definition at line 59 of file connectivity_policy.hpp.

template<class LogonT >
constexpr std::chrono::seconds jmmcg::exchanges::BATSBOE::common::connectivity_policy< LogonT >::min_timeout {5}
static

Definition at line 57 of file connectivity_policy.hpp.


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