SocketAcceptor.h
Go to the documentation of this file.
1/* -*- C++ -*- */
2
3/****************************************************************************
4** Copyright (c) 2001-2014
5**
6** This file is part of the QuickFIX FIX Engine
7**
8** This file may be distributed under the terms of the quickfixengine.org
9** license as defined by quickfixengine.org and appearing in the file
10** LICENSE included in the packaging of this file.
11**
12** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
13** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14**
15** See http://www.quickfixengine.org/LICENSE for licensing information.
16**
17** Contact ask@quickfixengine.org if any conditions of this licensing are
18** not clear to you.
19**
20****************************************************************************/
21
22#ifndef FIX_SOCKETACCEPTOR_H
23#define FIX_SOCKETACCEPTOR_H
24
25#ifdef _MSC_VER
26#pragma warning( disable : 4503 4355 4786 4290 )
27#endif
28
29#include "Acceptor.h"
30#include "SocketServer.h"
31#include "SocketConnection.h"
32
33namespace FIX
34{
37{
38 friend class SocketConnection;
39public:
41 const SessionSettings& ) throw( ConfigError );
43 const SessionSettings&, LogFactory& ) throw( ConfigError );
44
45 virtual ~SocketAcceptor();
46
47private:
49
50 typedef std::set < SessionID > Sessions;
51 typedef std::map < int, Sessions > PortToSessions;
52 typedef std::map < int, SocketConnection* > SocketConnections;
53
54 void onConfigure( const SessionSettings& ) throw ( ConfigError );
55 void onInitialize( const SessionSettings& ) throw ( RuntimeError );
56
57 void onStart();
58 bool onPoll( double timeout );
59 void onStop();
60
61 void onConnect( SocketServer&, int, int );
62 void onWrite( SocketServer&, int );
63 bool onData( SocketServer&, int );
64 void onDisconnect( SocketServer&, int );
65 void onError( SocketServer& );
66 void onTimeout( SocketServer& );
67
71};
73}
74
75#endif //FIX_SOCKETACCEPTOR_H
Base for classes which act as an acceptor for incoming connections.
Definition Acceptor.h:50
This interface must be implemented to define what your FIX application does.
Definition Application.h:44
This interface must be implemented to create a Log.
Definition Log.h:43
This interface must be implemented to create a MessageStore.
Container for setting dictionaries mapped to sessions.
Socket implementation of Acceptor.
void onConfigure(const SessionSettings &)
Implemented to configure acceptor.
std::set< SessionID > Sessions
PortToSessions m_portToSessions
void onWrite(SocketServer &, int)
SocketServer * m_pServer
void onStart()
Implemented to start listening for connections.
void onError(SocketServer &)
std::map< int, Sessions > PortToSessions
void onConnect(SocketServer &, int, int)
void onTimeout(SocketServer &)
void onStop()
Implemented to stop a running acceptor.
bool readSettings(const SessionSettings &)
void onInitialize(const SessionSettings &)
Implemented to initialize acceptor.
std::map< int, SocketConnection * > SocketConnections
bool onPoll(double timeout)
Implemented to connect and poll for events.
void onDisconnect(SocketServer &, int)
SocketConnections m_connections
bool onData(SocketServer &, int)
Encapsulates a socket file descriptor (single-threaded).
Listens for and accepts incoming socket connections on a port.
Application is not configured correctly
Definition Exceptions.h:88
Application encountered serious error during runtime
Definition Exceptions.h:95

Generated on Sun Mar 31 2024 07:07:24 for QuickFIX by doxygen 1.9.8 written by Dimitri van Heesch, © 1997-2001