fix8
version 1.4.0
Open Source C++ FIX Framework
|
Base session wrapper. More...
#include <sessionwrapper.hpp>
Public Member Functions | |
SessionConfig (const F8MetaCntx &ctx, const std::string &conf_file, const std::string &session_name) | |
Ctor. Loads configuration, obtains session details, sets up logfile flags. More... | |
virtual | ~SessionConfig () |
Dtor. More... | |
const XmlElement * | get_session_element () const |
Public Member Functions inherited from FIX8::Configuration | |
const XmlElement * | find_group (group_types type, const std::string &tag) const |
Configuration (const std::string &xmlfile, bool do_process=false) | |
Configuration (std::istream &istr, bool do_process=false) | |
virtual | ~Configuration () |
Dtor. More... | |
F8API int | process () |
const XmlElement * | get_session (const unsigned num) const |
F8API Connection::Role | get_role (const XmlElement *from) const |
F8API size_t | get_addresses (const XmlElement *from, std::vector< Server > &target) const |
F8API Poco::Net::SocketAddress | get_address (const XmlElement *from) const |
F8API Poco::Net::IPAddress | get_ip (const XmlElement *from) const |
template<typename T > | |
T | get_logflags (const std::string &tag, const std::vector< std::string > &names, const XmlElement *from, Logger::LogPositions *positions=nullptr) const |
F8API std::string & | get_logname (const XmlElement *from, std::string &to, const SessionID *sid=nullptr) const |
unsigned | get_connect_timeout (const XmlElement *from, const unsigned def=defaults::connect_timeout) const |
unsigned | get_retry_interval (const XmlElement *from, const unsigned def=defaults::retry_interval) const |
unsigned | get_retry_count (const XmlElement *from, const int def=defaults::login_retries) const |
unsigned | get_tcp_recvbuf_sz (const XmlElement *from, const unsigned def=0) const |
unsigned | get_tcp_sendbuf_sz (const XmlElement *from, const unsigned def=0) const |
unsigned | get_version (const XmlElement *from, const unsigned def=0) const |
unsigned | get_tabsize (const XmlElement *from, const unsigned def=defaults::tabsize) const |
unsigned | get_logfile_rotation (const XmlElement *from, const unsigned def=defaults::log_rotation) const |
unsigned | get_heartbeat_interval (const XmlElement *from, const unsigned def=defaults::hb_interval) const |
bool | get_tcp_nodelay (const XmlElement *from, const bool def=true) const |
bool | get_tcp_keepalive (const XmlElement *from, const bool def=false) const |
bool | get_tcp_reuseaddr (const XmlElement *from, const bool def=false) const |
int | get_tcp_linger (const XmlElement *from, const int def=-1) const |
bool | get_silent_disconnect (const XmlElement *from, const bool def=false) const |
bool | get_enforce_compids_flag (const XmlElement *from, const bool def=true) const |
bool | get_ignore_logon_sequence_check_flag (const XmlElement *from, const bool def=false) const |
bool | get_no_chksum_flag (const XmlElement *from, const bool def=false) const |
bool | get_permissive_mode_flag (const XmlElement *from, const bool def=false) const |
bool | get_reset_sequence_number_flag (const XmlElement *from, const bool def=false) const |
bool | get_always_seqnum_assign (const XmlElement *from, const bool def=false) const |
F8API ProcessModel | get_process_model (const XmlElement *from) const |
default_appl_ver_id | get_default_appl_ver_id (const XmlElement *from) const |
sender_comp_id | get_sender_comp_id (const XmlElement *from) const |
target_comp_id | get_target_comp_id (const XmlElement *from) const |
F8API Persister * | create_persister (const XmlElement *from, const SessionID *sid=nullptr, bool flag=false) const |
F8API Logger * | create_logger (const XmlElement *from, const Logtype ltype, const SessionID *sid=nullptr) const |
F8API Schedule | create_schedule (const XmlElement *from) const |
F8API Clients | create_clients (const XmlElement *from) const |
F8API Schedule | create_login_schedule (const XmlElement *from) const |
F8API Session_Schedule * | create_session_schedule (const XmlElement *from) const |
F8API unsigned | get_all_sessions (std::vector< const XmlElement * > &target, const Connection::Role role=Connection::cn_unknown) const |
const XmlElement * | get_root () const |
template<typename T > | |
T | get_logflags (const string &tag, const vector< string > &names, const XmlElement *from, Logger::LogPositions *positions) const |
Public Attributes | |
const F8MetaCntx & | _ctx |
const XmlElement * | _ses |
LoginParameters | _loginParameters |
const std::string | _session_name |
Additional Inherited Members | |
Public Types inherited from FIX8::Configuration | |
enum | group_types { g_sessions, g_persisters, g_loggers, g_server_group, g_ssl_context, g_schedules, g_logins, g_client_group, g_count } |
enum | Logtype { session_log, protocol_log } |
Protected Member Functions inherited from FIX8::Configuration | |
bool | from_or_default (const XmlElement *from, const f8String &tag, f8String &target) const |
template<typename T > | |
T & | get_string_field (const XmlElement *from, const std::string &tag, T &to) const |
Tickval::ticks | get_time_field (const XmlElement *from, const std::string &tag, bool timeonly=false) const |
template<typename T > | |
T | find_or_default (const XmlElement *from, const std::string &tag, const T def) const |
Base session wrapper.
Definition at line 126 of file sessionwrapper.hpp.
|
inline |
Ctor. Loads configuration, obtains session details, sets up logfile flags.
Definition at line 134 of file sessionwrapper.hpp.
References FIX8::Configuration::create_clients(), FIX8::Configuration::create_login_schedule(), FIX8::Configuration::get_always_seqnum_assign(), FIX8::Configuration::get_connect_timeout(), FIX8::Configuration::get_default_appl_ver_id(), FIX8::Configuration::get_enforce_compids_flag(), FIX8::Configuration::get_heartbeat_interval(), FIX8::Configuration::get_no_chksum_flag(), FIX8::Configuration::get_permissive_mode_flag(), FIX8::Configuration::get_reset_sequence_number_flag(), FIX8::Configuration::get_retry_count(), FIX8::Configuration::get_retry_interval(), FIX8::Configuration::get_silent_disconnect(), FIX8::Configuration::get_tabsize(), FIX8::Configuration::get_tcp_recvbuf_sz(), FIX8::Configuration::get_tcp_sendbuf_sz(), FIX8::MessageBase::set_tabsize(), and FIX8::defaults::tabsize.
|
inlinevirtual |
|
inline |
Get a pointer to the active session XmlElement to permit extraction of other XML attributes
Definition at line 163 of file sessionwrapper.hpp.
References _ses.
const F8MetaCntx& FIX8::SessionConfig::_ctx |
Definition at line 128 of file sessionwrapper.hpp.
LoginParameters FIX8::SessionConfig::_loginParameters |
Definition at line 130 of file sessionwrapper.hpp.
Referenced by FIX8::ClientSession< T >::ClientSession(), FIX8::ReliableClientSession< T >::operator()(), FIX8::ReliableClientSession< T >::ReliableClientSession(), FIX8::ServerSession< T >::ServerSession(), and FIX8::SessionInstance< T >::SessionInstance().
const XmlElement* FIX8::SessionConfig::_ses |
Definition at line 129 of file sessionwrapper.hpp.
Referenced by FIX8::ClientSession< T >::ClientSession(), get_session_element(), FIX8::Session::handle_logon(), FIX8::Session::sequence_check(), server_process(), and FIX8::Session::start().
const std::string FIX8::SessionConfig::_session_name |
Definition at line 131 of file sessionwrapper.hpp.
Referenced by main().