fix8  version 1.4.0
Open Source C++ FIX Framework
FIX8::ClientSessionBase Class Referenceabstract

Base Client wrapper. More...

#include <sessionwrapper.hpp>

Inheritance diagram for FIX8::ClientSessionBase:
FIX8::SessionConfig FIX8::Configuration FIX8::ClientSession< T > FIX8::ReliableClientSession< T >

Public Member Functions

 ClientSessionBase (const F8MetaCntx &ctx, const std::string &conf_file, const std::string &session_name)
 
virtual bool has_given_up () const
 
virtual ~ClientSessionBase ()
 Dtor. More...
 
virtual Sessionsession_ptr ()=0
 
virtual void start (bool wait, unsigned send_seqnum=0, unsigned recv_seqnum=0, const f8String davi=f8String())=0
 
- 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 XmlElementget_session_element () const
 
- Public Member Functions inherited from FIX8::Configuration
const XmlElementfind_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 XmlElementget_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 >
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 Persistercreate_persister (const XmlElement *from, const SessionID *sid=nullptr, bool flag=false) const
 
F8API Loggercreate_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_Schedulecreate_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 XmlElementget_root () const
 
template<typename T >
get_logflags (const string &tag, const vector< string > &names, const XmlElement *from, Logger::LogPositions *positions) const
 

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 }
 
- 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 >
find_or_default (const XmlElement *from, const std::string &tag, const T def) const
 

Detailed Description

Base Client wrapper.

Definition at line 168 of file sessionwrapper.hpp.

Constructor & Destructor Documentation

FIX8::ClientSessionBase::ClientSessionBase ( const F8MetaCntx ctx,
const std::string &  conf_file,
const std::string &  session_name 
)
inline

Definition at line 171 of file sessionwrapper.hpp.

172  : SessionConfig(ctx, conf_file, session_name) {}
const F8MetaCntx & ctx()
Compiler generated metadata object, accessed through this function.
SessionConfig(const F8MetaCntx &ctx, const std::string &conf_file, const std::string &session_name)
Ctor. Loads configuration, obtains session details, sets up logfile flags.
virtual FIX8::ClientSessionBase::~ClientSessionBase ( )
inlinevirtual

Dtor.

Definition at line 180 of file sessionwrapper.hpp.

180 {}

Member Function Documentation

virtual bool FIX8::ClientSessionBase::has_given_up ( ) const
inlinevirtual

If reliable, determine if the maximum no. of reties has been reached

Returns
false for default clientsession

Reimplemented in FIX8::ReliableClientSession< T >.

Definition at line 177 of file sessionwrapper.hpp.

Referenced by client_process().

177 { return false; }
virtual Session* FIX8::ClientSessionBase::session_ptr ( )
pure virtual

Get a pointer to the session

Returns
the session pointer

Implemented in FIX8::ClientSession< T >.

Referenced by client_process(), and main().

virtual void FIX8::ClientSessionBase::start ( bool  wait,
unsigned  send_seqnum = 0,
unsigned  recv_seqnum = 0,
const f8String  davi = f8String() 
)
pure virtual

Start the session - initiate the connection, logon and start heartbeating.

Parameters
waitif true wait till session finishes before returning
send_seqnumif supplied, override the send login sequence number, set next send to seqnum+1
recv_seqnumif supplied, override the receive login sequence number, set next recv to seqnum+1
davidefault appl version id (FIXT)

Implemented in FIX8::ReliableClientSession< T >, and FIX8::ClientSession< T >.


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