HttpServer.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_HTTPSERVER_H
23 #define FIX_HTTPSERVER_H
24 
25 #ifdef _MSC_VER
26 #pragma warning( disable : 4503 4355 4786 4290 )
27 #endif
28 
29 #include "SocketServer.h"
30 #include "SessionSettings.h"
31 #include "Exceptions.h"
32 #include "Mutex.h"
33 
34 namespace FIX
35 {
37 class HttpServer : public SocketServer::Strategy
38 {
39 public:
40  HttpServer( const SessionSettings& ) throw( ConfigError );
41 
42  static void startGlobal( const SessionSettings& ) throw ( ConfigError, RuntimeError );
43  static void stopGlobal();
44 
45  void start() throw ( ConfigError, RuntimeError );
46  void stop();
47 
48 private:
49  void onConfigure( const SessionSettings& ) throw ( ConfigError );
50  void onInitialize( const SessionSettings& ) throw ( RuntimeError );
51 
52  void onStart();
53  bool onPoll();
54  void onStop();
55 
56  void onConnect( SocketServer&, int, int );
57  void onWrite( SocketServer&, int );
58  bool onData( SocketServer&, int );
59  void onDisconnect( SocketServer&, int );
60  void onError( SocketServer& );
61  void onTimeout( SocketServer& );
62 
63  static THREAD_PROC startThread( void* p );
64 
68  int m_port;
69  bool m_stop;
70 
71  static Mutex s_mutex;
72  static int s_count;
73  static HttpServer* s_pServer;
74 };
76 }
77 
78 #endif //FIX_HTTPSERVER_H
FIX::thread_id
pthread_t thread_id
Definition: Utility.h:190
SessionSettings.h
FIX::HttpServer::onPoll
bool onPoll()
Definition: HttpServer.cpp:139
FIX::HttpServer::m_stop
bool m_stop
Definition: HttpServer.h:103
FIX::HttpServer::onWrite
void onWrite(SocketServer &, int)
Definition: HttpServer.cpp:160
FIX::Mutex
Portable implementation of a mutex.
Definition: Mutex.h:47
FIX::HttpServer::onInitialize
void onInitialize(const SessionSettings &)
Definition: HttpServer.cpp:92
FIX::HttpServer::s_pServer
static HttpServer * s_pServer
Definition: HttpServer.h:107
FIX::HttpServer::onConfigure
void onConfigure(const SessionSettings &)
Definition: HttpServer.cpp:86
FIX::HttpServer::onConnect
void onConnect(SocketServer &, int, int)
Definition: HttpServer.cpp:152
FIX::HttpServer::m_settings
SessionSettings m_settings
Definition: HttpServer.h:100
FIX::HttpServer::stopGlobal
static void stopGlobal()
Definition: HttpServer.cpp:70
FIX::HttpServer
Basic HTTP Server.
Definition: HttpServer.h:54
FIX::HttpServer::s_count
static int s_count
Definition: HttpServer.h:106
FIX::SessionSettings
Container for setting dictionaries mapped to sessions.
Definition: SessionSettings.h:237
Mutex.h
THREAD_PROC
#define THREAD_PROC
Definition: Utility.h:184
FIX::HttpServer::onError
void onError(SocketServer &)
Definition: HttpServer.cpp:173
FIX::HttpServer::onData
bool onData(SocketServer &, int)
Definition: HttpServer.cpp:164
FIX::HttpServer::m_port
int m_port
Definition: HttpServer.h:102
FIX::HttpServer::onStart
void onStart()
Definition: HttpServer.cpp:127
FIX
Definition: Acceptor.cpp:34
FIX::HttpServer::HttpServer
HttpServer(const SessionSettings &)
Definition: HttpServer.cpp:83
SocketServer.h
FIX::HttpServer::startGlobal
static void startGlobal(const SessionSettings &)
Definition: HttpServer.cpp:54
FIX::HttpServer::onTimeout
void onTimeout(SocketServer &)
Definition: HttpServer.cpp:175
FIX::HttpServer::startThread
static THREAD_PROC startThread(void *p)
Definition: HttpServer.cpp:179
Exceptions.h
FIX::HttpServer::s_mutex
static Mutex s_mutex
Definition: HttpServer.h:105
FIX::HttpServer::m_threadid
thread_id m_threadid
Definition: HttpServer.h:101
FIX::SocketServer
Listens for and accepts incoming socket connections on a port.
Definition: SocketServer.h:73
FIX::HttpServer::onStop
void onStop()
Definition: HttpServer.cpp:148
FIX::HttpServer::m_pServer
SocketServer * m_pServer
Definition: HttpServer.h:99
FIX::HttpServer::onDisconnect
void onDisconnect(SocketServer &, int)
Definition: HttpServer.cpp:169
FIX::HttpServer::start
void start()
Definition: HttpServer.cpp:106
FIX::HttpServer::stop
void stop()
Definition: HttpServer.cpp:116

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