fix8
version 1.4.0
Open Source C++ FIX Framework
|
Client wrapper. More...
#include <sessionwrapper.hpp>
Public Types | |
using | ClientSession_ptr = std::unique_ptr< ClientSession< T >> |
Convenient scoped pointer for your session. More... | |
using | session_type = T |
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 } |
Public Member Functions | |
ClientSession (const F8MetaCntx &ctx, const std::string &conf_file, const std::string &session_name, bool init_con_later=false) | |
Ctor. Prepares session for connection as an initiator. More... | |
virtual | ~ClientSession () |
Dtor. More... | |
T * | session_ptr () |
virtual void | start (bool wait, unsigned send_seqnum=0, unsigned recv_seqnum=0, const f8String davi=f8String()) |
Public Member Functions inherited from FIX8::ClientSessionBase | |
ClientSessionBase (const F8MetaCntx &ctx, const std::string &conf_file, const std::string &session_name) | |
virtual bool | has_given_up () const |
virtual | ~ClientSessionBase () |
Dtor. More... | |
Public Member Functions inherited from FIX8::SessionConfig | |
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 |
Protected Attributes | |
sender_comp_id | _sci |
target_comp_id | _tci |
const SessionID | _id |
Logger * | _log |
Logger * | _plog |
Persister * | _persist |
T * | _session |
Poco::Net::StreamSocket * | _sock = nullptr |
Poco::Net::SocketAddress | _addr |
ClientConnection * | _cc = nullptr |
Additional Inherited Members | |
Public Attributes inherited from FIX8::SessionConfig | |
const F8MetaCntx & | _ctx |
const XmlElement * | _ses |
LoginParameters | _loginParameters |
const std::string | _session_name |
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 |
Client wrapper.
T | specialised with your derived session class |
Definition at line 198 of file sessionwrapper.hpp.
using FIX8::ClientSession< T >::ClientSession_ptr = std::unique_ptr<ClientSession<T>> |
Convenient scoped pointer for your session.
Definition at line 274 of file sessionwrapper.hpp.
using FIX8::ClientSession< T >::session_type = T |
Definition at line 276 of file sessionwrapper.hpp.
|
inline |
Ctor. Prepares session for connection as an initiator.
Definition at line 216 of file sessionwrapper.hpp.
References FIX8::LoginParameters::_hb_int, FIX8::SessionConfig::_loginParameters, FIX8::SessionConfig::_ses, and FIX8::Configuration::get_process_model().
|
inlinevirtual |
Dtor.
Definition at line 249 of file sessionwrapper.hpp.
References FIX8::ClientSession< T >::_log, FIX8::ClientSession< T >::_persist, FIX8::ClientSession< T >::_plog, and FIX8::ClientSession< T >::_session.
|
inlinevirtual |
Get a pointer to the session
Implements FIX8::ClientSessionBase.
Definition at line 263 of file sessionwrapper.hpp.
References FIX8::ClientSession< T >::_session.
|
inlinevirtual |
Start the session - initiate the connection, logon and start heartbeating.
wait | if true wait till session finishes before returning |
send_seqnum | if supplied, override the send login sequence number, set next send to seqnum+1 |
recv_seqnum | if supplied, override the receive login sequence number, set next recv to seqnum+1 |
davi | default appl version id (FIXT) |
Implements FIX8::ClientSessionBase.
Reimplemented in FIX8::ReliableClientSession< T >.
Definition at line 270 of file sessionwrapper.hpp.
|
protected |
Definition at line 208 of file sessionwrapper.hpp.
|
protected |
Definition at line 209 of file sessionwrapper.hpp.
Referenced by FIX8::ReliableClientSession< T >::operator()().
|
protected |
Definition at line 203 of file sessionwrapper.hpp.
|
protected |
Definition at line 204 of file sessionwrapper.hpp.
Referenced by FIX8::ClientSession< T >::~ClientSession().
|
protected |
Definition at line 205 of file sessionwrapper.hpp.
Referenced by FIX8::ClientSession< T >::~ClientSession().
|
protected |
Definition at line 204 of file sessionwrapper.hpp.
Referenced by FIX8::ClientSession< T >::~ClientSession().
|
protected |
Definition at line 201 of file sessionwrapper.hpp.
|
protected |
Definition at line 206 of file sessionwrapper.hpp.
Referenced by FIX8::ClientSession< T >::session_ptr(), and FIX8::ClientSession< T >::~ClientSession().
|
protected |
Definition at line 207 of file sessionwrapper.hpp.
Referenced by FIX8::ReliableClientSession< T >::operator()().
|
protected |
Definition at line 202 of file sessionwrapper.hpp.