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 
33 namespace FIX
34 {
36 class SocketAcceptor : public Acceptor, SocketServer::Strategy
37 {
38  friend class SocketConnection;
39 public:
40  SocketAcceptor( Application&, MessageStoreFactory&,
41  const SessionSettings& ) throw( ConfigError );
42  SocketAcceptor( Application&, MessageStoreFactory&,
43  const SessionSettings&, LogFactory& ) throw( ConfigError );
44 
45  virtual ~SocketAcceptor();
46 
47 private:
48  bool readSettings( const SessionSettings& );
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
Acceptor.h
FIX::SocketAcceptor::SocketConnection
friend class SocketConnection
Definition: SocketAcceptor.h:72
FIX::SocketAcceptor::onConnect
void onConnect(SocketServer &, int, int)
Definition: SocketAcceptor.cpp:183
FIX::SocketAcceptor::PortToSessions
std::map< int, Sessions > PortToSessions
Definition: SocketAcceptor.h:85
FIX::SocketAcceptor::SocketAcceptor
SocketAcceptor(Application &, MessageStoreFactory &, const SessionSettings &)
Definition: SocketAcceptor.cpp:51
FIX::ConfigError
Application is not configured correctly
Definition: Exceptions.h:104
FIX::SocketAcceptor::onPoll
bool onPoll(double timeout)
Implemented to connect and poll for events.
Definition: SocketAcceptor.cpp:151
FIX::SocketAcceptor::onInitialize
void onInitialize(const SessionSettings &)
Implemented to initialize acceptor.
Definition: SocketAcceptor.cpp:89
FIX::RuntimeError
Application encountered serious error during runtime
Definition: Exceptions.h:111
SocketConnection.h
FIX::SocketAcceptor::onWrite
void onWrite(SocketServer &, int)
Definition: SocketAcceptor.cpp:199
FIX::SessionSettings
Container for setting dictionaries mapped to sessions.
Definition: SessionSettings.h:237
FIX::SocketAcceptor::onStop
void onStop()
Implemented to stop a running acceptor.
Definition: SocketAcceptor.cpp:179
FIX::SocketAcceptor::m_pServer
SocketServer * m_pServer
Definition: SocketAcceptor.h:102
FIX::SocketAcceptor::onDisconnect
void onDisconnect(SocketServer &, int)
Definition: SocketAcceptor.cpp:216
FIX::SocketAcceptor::onTimeout
void onTimeout(SocketServer &)
Definition: SocketAcceptor.cpp:233
FIX::SocketAcceptor::onError
void onError(SocketServer &)
Definition: SocketAcceptor.cpp:229
FIX::SocketAcceptor::m_connections
SocketConnections m_connections
Definition: SocketAcceptor.h:104
FIX::SocketAcceptor::onConfigure
void onConfigure(const SessionSettings &)
Implemented to configure acceptor.
Definition: SocketAcceptor.cpp:73
FIX
Definition: Acceptor.cpp:34
FIX::SocketAcceptor::Sessions
std::set< SessionID > Sessions
Definition: SocketAcceptor.h:84
SocketServer.h
FIX::SocketAcceptor::m_portToSessions
PortToSessions m_portToSessions
Definition: SocketAcceptor.h:103
FIX::SocketAcceptor::~SocketAcceptor
virtual ~SocketAcceptor()
Definition: SocketAcceptor.cpp:66
FIX::SocketServer
Listens for and accepts incoming socket connections on a port.
Definition: SocketServer.h:73
FIX::SocketAcceptor::onData
bool onData(SocketServer &, int)
Definition: SocketAcceptor.cpp:208
FIX::SocketAcceptor::onStart
void onStart()
Implemented to start listening for connections.
Definition: SocketAcceptor.cpp:128
FIX::SocketAcceptor::readSettings
bool readSettings(const SessionSettings &)
FIX::SocketAcceptor::SocketConnections
std::map< int, SocketConnection * > SocketConnections
Definition: SocketAcceptor.h:86

Generated on Wed Apr 29 2020 19:41:30 for QuickFIX by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2001