libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
isimud::exchanges::MIT::common::connectivity_policy< LogonT > Class Template Reference

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

#include <connectivity_policy.hpp>

Collaboration diagram for isimud::exchanges::MIT::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 noexcept(false)
 

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 isimud::exchanges::MIT::common::connectivity_policy< LogonT >

An implementation of the connectivity policy for the MIT protocol.

From section 4.4 "Connectivity Policy" of [1]. Note that BIT is the same, but OLSO & TRQ are unclear regarding this policy, so we'll assume it is the same. [1] "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway" Issue 11.6, 17 August 2015.

Definition at line 111 of file connectivity_policy.hpp.

Member Typedef Documentation

◆ endpoint_t

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

Definition at line 131 of file connectivity_policy.hpp.

◆ logon_args_t

template<class LogonT >
using isimud::exchanges::MIT::common::connectivity_policy< LogonT >::logon_args_t = LogonT

Definition at line 130 of file connectivity_policy.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class LogonT >
anonymous enum : unsigned
Enumerator
max_attempts 

Definition at line 143 of file connectivity_policy.hpp.

Constructor & Destructor Documentation

◆ connectivity_policy()

template<class LogonT >
isimud::exchanges::MIT::common::connectivity_policy< LogonT >::connectivity_policy ( gateways_t const &  gws,
logon_args_t const &  logon,
logoff_args_t const &  logoff 
)
inlinenoexcept

Definition at line 91 of file connectivity_policy_impl.hpp.

Member Function Documentation

◆ operator()()

template<class LogonT >
template<class ConnectFn >
void isimud::exchanges::MIT::common::connectivity_policy< LogonT >::operator() ( ConnectFn const &  cnx) const
inlinenoexcept

Definition at line 97 of file connectivity_policy_impl.hpp.

Member Data Documentation

◆ gateways

template<class LogonT >
const gateways_t isimud::exchanges::MIT::common::connectivity_policy< LogonT >::gateways

Definition at line 147 of file connectivity_policy.hpp.

◆ logoff_args

template<class LogonT >
const logoff_args_t isimud::exchanges::MIT::common::connectivity_policy< LogonT >::logoff_args

Definition at line 149 of file connectivity_policy.hpp.

◆ logon_args

template<class LogonT >
const logon_args_t isimud::exchanges::MIT::common::connectivity_policy< LogonT >::logon_args

Definition at line 148 of file connectivity_policy.hpp.

◆ min_timeout

template<class LogonT >
constexpr std::chrono::seconds isimud::exchanges::MIT::common::connectivity_policy< LogonT >::min_timeout {5}
inlinestaticconstexpr

Definition at line 146 of file connectivity_policy.hpp.


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