fix8
version 1.4.0
Open Source C++ FIX Framework
|
#include <sessionwrapper.hpp>
Public Member Functions | |
ServerSessionBase (const F8MetaCntx &ctx, const std::string &conf_file, const std::string &session_name) | |
Ctor. Prepares session for receiving inbbound connections (acceptor). More... | |
virtual | ~ServerSessionBase () |
Dtor. More... | |
virtual SessionInstanceBase * | create_server_instance ()=0 |
bool | poll (const Poco::Timespan &span=Poco::Timespan(250000)) const |
Poco::Net::StreamSocket | accept (Poco::Net::SocketAddress &claddr) |
virtual bool | is_secure () const |
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 | |
Poco::Net::ServerSocket * | _server_sock = nullptr |
Friends | |
class | ServerManager |
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 > | |
T | find_or_default (const XmlElement *from, const std::string &tag, const T def) const |
Definition at line 499 of file sessionwrapper.hpp.
|
inline |
Ctor. Prepares session for receiving inbbound connections (acceptor).
Definition at line 506 of file sessionwrapper.hpp.
|
inlinevirtual |
Dtor.
Definition at line 511 of file sessionwrapper.hpp.
References _server_sock.
|
inline |
Accept an inbound connection and obtain a connected socket
claddr | location to store address of remote connection |
Definition at line 530 of file sessionwrapper.hpp.
|
pure virtual |
Create a SessionInstance for the associated Session
Implemented in FIX8::ServerSession< T >.
Referenced by server_process().
|
inlinevirtual |
Check if this server session supports secure connections
Reimplemented in FIX8::ServerSession< T >.
Definition at line 535 of file sessionwrapper.hpp.
|
inline |
Check to see if there are any waiting inbound connections.
span | timespan (us, default 250 ms) to wait before returning (will return immediately if connection available) |
Definition at line 524 of file sessionwrapper.hpp.
|
friend |
Definition at line 537 of file sessionwrapper.hpp.
|
protected |
Definition at line 502 of file sessionwrapper.hpp.
Referenced by FIX8::ServerManager::add(), and ~ServerSessionBase().