quickfix_ruby_ud 2.0.7-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. checksums.yaml +7 -0
  2. data/ext/quickfix/Acceptor.cpp +257 -0
  3. data/ext/quickfix/Acceptor.h +127 -0
  4. data/ext/quickfix/Allocator.h +9 -0
  5. data/ext/quickfix/Application.h +137 -0
  6. data/ext/quickfix/DOMDocument.h +70 -0
  7. data/ext/quickfix/DataDictionary.cpp +679 -0
  8. data/ext/quickfix/DataDictionary.h +607 -0
  9. data/ext/quickfix/DataDictionaryProvider.cpp +66 -0
  10. data/ext/quickfix/DataDictionaryProvider.h +67 -0
  11. data/ext/quickfix/DatabaseConnectionID.h +98 -0
  12. data/ext/quickfix/DatabaseConnectionPool.h +84 -0
  13. data/ext/quickfix/Dictionary.cpp +157 -0
  14. data/ext/quickfix/Dictionary.h +89 -0
  15. data/ext/quickfix/Event.h +89 -0
  16. data/ext/quickfix/Except.h +39 -0
  17. data/ext/quickfix/Exceptions.h +257 -0
  18. data/ext/quickfix/Field.h +654 -0
  19. data/ext/quickfix/FieldConvertors.cpp +86 -0
  20. data/ext/quickfix/FieldConvertors.h +800 -0
  21. data/ext/quickfix/FieldMap.cpp +254 -0
  22. data/ext/quickfix/FieldMap.h +327 -0
  23. data/ext/quickfix/FieldNumbers.h +44 -0
  24. data/ext/quickfix/FieldTypes.cpp +62 -0
  25. data/ext/quickfix/FieldTypes.h +817 -0
  26. data/ext/quickfix/Fields.h +30 -0
  27. data/ext/quickfix/FileLog.cpp +176 -0
  28. data/ext/quickfix/FileLog.h +110 -0
  29. data/ext/quickfix/FileStore.cpp +369 -0
  30. data/ext/quickfix/FileStore.h +131 -0
  31. data/ext/quickfix/FixCommonFields.h +13 -0
  32. data/ext/quickfix/FixFieldNumbers.h +6132 -0
  33. data/ext/quickfix/FixFields.h +6133 -0
  34. data/ext/quickfix/FixValues.h +5790 -0
  35. data/ext/quickfix/Group.cpp +44 -0
  36. data/ext/quickfix/Group.h +78 -0
  37. data/ext/quickfix/HostDetailsProvider.cpp +79 -0
  38. data/ext/quickfix/HostDetailsProvider.h +44 -0
  39. data/ext/quickfix/HtmlBuilder.h +178 -0
  40. data/ext/quickfix/HttpConnection.cpp +914 -0
  41. data/ext/quickfix/HttpConnection.h +74 -0
  42. data/ext/quickfix/HttpMessage.cpp +229 -0
  43. data/ext/quickfix/HttpMessage.h +112 -0
  44. data/ext/quickfix/HttpParser.cpp +49 -0
  45. data/ext/quickfix/HttpParser.h +49 -0
  46. data/ext/quickfix/HttpServer.cpp +152 -0
  47. data/ext/quickfix/HttpServer.h +76 -0
  48. data/ext/quickfix/Initiator.cpp +310 -0
  49. data/ext/quickfix/Initiator.h +151 -0
  50. data/ext/quickfix/Log.cpp +71 -0
  51. data/ext/quickfix/Log.h +254 -0
  52. data/ext/quickfix/Message.cpp +617 -0
  53. data/ext/quickfix/Message.h +419 -0
  54. data/ext/quickfix/MessageCracker.h +171 -0
  55. data/ext/quickfix/MessageSorters.cpp +101 -0
  56. data/ext/quickfix/MessageSorters.h +185 -0
  57. data/ext/quickfix/MessageStore.cpp +182 -0
  58. data/ext/quickfix/MessageStore.h +164 -0
  59. data/ext/quickfix/Mutex.h +120 -0
  60. data/ext/quickfix/MySQLConnection.h +187 -0
  61. data/ext/quickfix/MySQLLog.cpp +262 -0
  62. data/ext/quickfix/MySQLLog.h +158 -0
  63. data/ext/quickfix/MySQLStore.cpp +323 -0
  64. data/ext/quickfix/MySQLStore.h +161 -0
  65. data/ext/quickfix/MySQLStubs.h +203 -0
  66. data/ext/quickfix/NullStore.cpp +40 -0
  67. data/ext/quickfix/NullStore.h +89 -0
  68. data/ext/quickfix/OdbcConnection.h +241 -0
  69. data/ext/quickfix/OdbcLog.cpp +230 -0
  70. data/ext/quickfix/OdbcLog.h +109 -0
  71. data/ext/quickfix/OdbcStore.cpp +313 -0
  72. data/ext/quickfix/OdbcStore.h +124 -0
  73. data/ext/quickfix/PUGIXML_DOMDocument.cpp +112 -0
  74. data/ext/quickfix/PUGIXML_DOMDocument.h +81 -0
  75. data/ext/quickfix/Parser.cpp +111 -0
  76. data/ext/quickfix/Parser.h +50 -0
  77. data/ext/quickfix/PostgreSQLConnection.h +163 -0
  78. data/ext/quickfix/PostgreSQLLog.cpp +263 -0
  79. data/ext/quickfix/PostgreSQLLog.h +157 -0
  80. data/ext/quickfix/PostgreSQLStore.cpp +327 -0
  81. data/ext/quickfix/PostgreSQLStore.h +160 -0
  82. data/ext/quickfix/PostgreSQLStubs.h +203 -0
  83. data/ext/quickfix/Queue.h +66 -0
  84. data/ext/quickfix/QuickfixRuby.cpp +131900 -0
  85. data/ext/quickfix/QuickfixRuby.h +56 -0
  86. data/ext/quickfix/Responder.h +41 -0
  87. data/ext/quickfix/SSLSocketAcceptor.cpp +409 -0
  88. data/ext/quickfix/SSLSocketAcceptor.h +186 -0
  89. data/ext/quickfix/SSLSocketConnection.cpp +434 -0
  90. data/ext/quickfix/SSLSocketConnection.h +221 -0
  91. data/ext/quickfix/SSLSocketInitiator.cpp +558 -0
  92. data/ext/quickfix/SSLSocketInitiator.h +203 -0
  93. data/ext/quickfix/SSLStubs.h +129 -0
  94. data/ext/quickfix/Session.cpp +1437 -0
  95. data/ext/quickfix/Session.h +343 -0
  96. data/ext/quickfix/SessionFactory.cpp +314 -0
  97. data/ext/quickfix/SessionFactory.h +84 -0
  98. data/ext/quickfix/SessionID.h +136 -0
  99. data/ext/quickfix/SessionSettings.cpp +165 -0
  100. data/ext/quickfix/SessionSettings.h +283 -0
  101. data/ext/quickfix/SessionState.h +260 -0
  102. data/ext/quickfix/Settings.cpp +160 -0
  103. data/ext/quickfix/Settings.h +56 -0
  104. data/ext/quickfix/SharedArray.h +274 -0
  105. data/ext/quickfix/SocketAcceptor.cpp +216 -0
  106. data/ext/quickfix/SocketAcceptor.h +77 -0
  107. data/ext/quickfix/SocketConnection.cpp +256 -0
  108. data/ext/quickfix/SocketConnection.h +102 -0
  109. data/ext/quickfix/SocketConnector.cpp +112 -0
  110. data/ext/quickfix/SocketConnector.h +76 -0
  111. data/ext/quickfix/SocketInitiator.cpp +241 -0
  112. data/ext/quickfix/SocketInitiator.h +76 -0
  113. data/ext/quickfix/SocketMonitor.h +26 -0
  114. data/ext/quickfix/SocketMonitor_UNIX.cpp +238 -0
  115. data/ext/quickfix/SocketMonitor_UNIX.h +101 -0
  116. data/ext/quickfix/SocketMonitor_WIN32.cpp +248 -0
  117. data/ext/quickfix/SocketMonitor_WIN32.h +99 -0
  118. data/ext/quickfix/SocketServer.cpp +163 -0
  119. data/ext/quickfix/SocketServer.h +100 -0
  120. data/ext/quickfix/ThreadedSSLSocketAcceptor.cpp +436 -0
  121. data/ext/quickfix/ThreadedSSLSocketAcceptor.h +209 -0
  122. data/ext/quickfix/ThreadedSSLSocketConnection.cpp +364 -0
  123. data/ext/quickfix/ThreadedSSLSocketConnection.h +191 -0
  124. data/ext/quickfix/ThreadedSSLSocketInitiator.cpp +434 -0
  125. data/ext/quickfix/ThreadedSSLSocketInitiator.h +193 -0
  126. data/ext/quickfix/ThreadedSocketAcceptor.cpp +242 -0
  127. data/ext/quickfix/ThreadedSocketAcceptor.h +95 -0
  128. data/ext/quickfix/ThreadedSocketConnection.cpp +227 -0
  129. data/ext/quickfix/ThreadedSocketConnection.h +89 -0
  130. data/ext/quickfix/ThreadedSocketInitiator.cpp +238 -0
  131. data/ext/quickfix/ThreadedSocketInitiator.h +78 -0
  132. data/ext/quickfix/TimeRange.cpp +227 -0
  133. data/ext/quickfix/TimeRange.h +215 -0
  134. data/ext/quickfix/Utility.cpp +639 -0
  135. data/ext/quickfix/Utility.h +255 -0
  136. data/ext/quickfix/UtilitySSL.cpp +1612 -0
  137. data/ext/quickfix/UtilitySSL.h +274 -0
  138. data/ext/quickfix/Values.h +63 -0
  139. data/ext/quickfix/config-all.h +10 -0
  140. data/ext/quickfix/config.h +10 -0
  141. data/ext/quickfix/config_unix.h +178 -0
  142. data/ext/quickfix/config_windows.h +0 -0
  143. data/ext/quickfix/dirent_windows.h +838 -0
  144. data/ext/quickfix/double-conversion/bignum-dtoa.cc +641 -0
  145. data/ext/quickfix/double-conversion/bignum-dtoa.h +84 -0
  146. data/ext/quickfix/double-conversion/bignum.cc +766 -0
  147. data/ext/quickfix/double-conversion/bignum.h +144 -0
  148. data/ext/quickfix/double-conversion/cached-powers.cc +176 -0
  149. data/ext/quickfix/double-conversion/cached-powers.h +64 -0
  150. data/ext/quickfix/double-conversion/diy-fp.cc +57 -0
  151. data/ext/quickfix/double-conversion/diy-fp.h +118 -0
  152. data/ext/quickfix/double-conversion/double-conversion.cc +994 -0
  153. data/ext/quickfix/double-conversion/double-conversion.h +543 -0
  154. data/ext/quickfix/double-conversion/fast-dtoa.cc +665 -0
  155. data/ext/quickfix/double-conversion/fast-dtoa.h +88 -0
  156. data/ext/quickfix/double-conversion/fixed-dtoa.cc +404 -0
  157. data/ext/quickfix/double-conversion/fixed-dtoa.h +56 -0
  158. data/ext/quickfix/double-conversion/ieee.h +402 -0
  159. data/ext/quickfix/double-conversion/strtod.cc +557 -0
  160. data/ext/quickfix/double-conversion/strtod.h +45 -0
  161. data/ext/quickfix/double-conversion/utils.h +374 -0
  162. data/ext/quickfix/extconf.rb +76 -0
  163. data/ext/quickfix/index.h +37 -0
  164. data/ext/quickfix/pugiconfig.hpp +77 -0
  165. data/ext/quickfix/pugixml.cpp +13237 -0
  166. data/ext/quickfix/pugixml.hpp +1516 -0
  167. data/ext/quickfix/scope_guard.hpp +215 -0
  168. data/ext/quickfix/stdint_msvc.h +254 -0
  169. data/ext/quickfix/strptime.h +7 -0
  170. data/lib/2.4/quickfix.so +0 -0
  171. data/lib/2.5/quickfix.so +0 -0
  172. data/lib/2.6/quickfix.so +0 -0
  173. data/lib/2.7/quickfix.so +0 -0
  174. data/lib/3.0/quickfix.so +0 -0
  175. data/lib/3.1/quickfix.so +0 -0
  176. data/lib/3.2/quickfix.so +0 -0
  177. data/lib/3.3/quickfix.so +0 -0
  178. data/lib/3.4/quickfix.so +0 -0
  179. data/lib/quickfix40.rb +274 -0
  180. data/lib/quickfix41.rb +351 -0
  181. data/lib/quickfix42.rb +1184 -0
  182. data/lib/quickfix43.rb +3504 -0
  183. data/lib/quickfix44.rb +14040 -0
  184. data/lib/quickfix50.rb +20051 -0
  185. data/lib/quickfix50sp1.rb +23596 -0
  186. data/lib/quickfix50sp2.rb +412444 -0
  187. data/lib/quickfix_fields.rb +79393 -0
  188. data/lib/quickfix_ruby.rb +82 -0
  189. data/lib/quickfixt11.rb +65 -0
  190. data/spec/FIX40.xml +862 -0
  191. data/spec/FIX41.xml +1282 -0
  192. data/spec/FIX42.xml +2743 -0
  193. data/spec/FIX43.xml +4230 -0
  194. data/spec/FIX44.xml +6600 -0
  195. data/spec/FIX50.xml +8142 -0
  196. data/spec/FIX50SP1.xml +9506 -0
  197. data/spec/FIX50SP2.xml +26069 -0
  198. data/spec/FIXT11.xml +252 -0
  199. data/test/DataDictionaryTestCase.rb +268 -0
  200. data/test/DictionaryTestCase.rb +112 -0
  201. data/test/FieldBaseTestCase.rb +24 -0
  202. data/test/MessageStoreTestCase.rb +19 -0
  203. data/test/MessageTestCase.rb +368 -0
  204. data/test/SessionSettingsTestCase.rb +41 -0
  205. metadata +247 -0
@@ -0,0 +1,203 @@
1
+ #ifndef HAVE_POSTGRESQL
2
+
3
+ #include "Utility.h"
4
+
5
+ class PGconn {};
6
+
7
+ namespace FIX {
8
+
9
+ class PostgreSQLQuery {
10
+ public:
11
+ PostgreSQLQuery(const std::string &query) { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
12
+
13
+ ~PostgreSQLQuery() {}
14
+
15
+ bool execute(PGconn *pConnection) { unreachable(); }
16
+
17
+ bool success() { unreachable(); };
18
+
19
+ int rows() { unreachable(); }
20
+
21
+ const char *reason() { unreachable(); }
22
+
23
+ char *getValue(int row, int column) { unreachable(); }
24
+
25
+ void throwException() EXCEPT(IOException) {}
26
+ };
27
+
28
+ class PostgreSQLConnection {
29
+ public:
30
+ PostgreSQLConnection(const DatabaseConnectionID &id) { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
31
+
32
+ PostgreSQLConnection(
33
+ const std::string &database,
34
+ const std::string &user,
35
+ const std::string &password,
36
+ const std::string &host,
37
+ short port) {
38
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
39
+ }
40
+
41
+ ~PostgreSQLConnection() {}
42
+
43
+ const DatabaseConnectionID &connectionID() { unreachable(); }
44
+
45
+ bool connected() { unreachable(); }
46
+
47
+ bool reconnect() { unreachable(); }
48
+
49
+ bool execute(PostgreSQLQuery &pQuery) { unreachable(); }
50
+ };
51
+
52
+ typedef DatabaseConnectionPool<PostgreSQLConnection> PostgreSQLConnectionPool;
53
+ typedef std::unique_ptr<PostgreSQLConnectionPool> PostgreSQLConnectionPoolPtr;
54
+
55
+ class PostgreSQLStoreFactory : public MessageStoreFactory {
56
+ public:
57
+ static const std::string DEFAULT_DATABASE;
58
+ static const std::string DEFAULT_USER;
59
+ static const std::string DEFAULT_PASSWORD;
60
+ static const std::string DEFAULT_HOST;
61
+ static const short DEFAULT_PORT;
62
+
63
+ PostgreSQLStoreFactory(const SessionSettings &settings) { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
64
+
65
+ PostgreSQLStoreFactory(const Dictionary &dictionary) { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
66
+
67
+ PostgreSQLStoreFactory(
68
+ const std::string &database,
69
+ const std::string &user,
70
+ const std::string &password,
71
+ const std::string &host,
72
+ short port) {
73
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
74
+ }
75
+
76
+ PostgreSQLStoreFactory() { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
77
+
78
+ MessageStore *create(const UtcTimeStamp &, const SessionID &) { return nullptr; }
79
+ void destroy(MessageStore *) {}
80
+ };
81
+
82
+ const std::string PostgreSQLStoreFactory::DEFAULT_DATABASE = "";
83
+ const std::string PostgreSQLStoreFactory::DEFAULT_USER = "";
84
+ const std::string PostgreSQLStoreFactory::DEFAULT_PASSWORD = "";
85
+ const std::string PostgreSQLStoreFactory::DEFAULT_HOST = "";
86
+ const short PostgreSQLStoreFactory::DEFAULT_PORT = 3306;
87
+
88
+ class PostgreSQLStore : public MessageStore {
89
+ public:
90
+ PostgreSQLStore(
91
+ const UtcTimeStamp &now,
92
+ const SessionID &sessionID,
93
+ const DatabaseConnectionID &connection,
94
+ PostgreSQLConnectionPool *pool) {
95
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
96
+ }
97
+
98
+ PostgreSQLStore(
99
+ const UtcTimeStamp &now,
100
+ const SessionID &sessionID,
101
+ const std::string &database,
102
+ const std::string &user,
103
+ const std::string &password,
104
+ const std::string &host,
105
+ short port) {
106
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
107
+ }
108
+
109
+ ~PostgreSQLStore() {}
110
+
111
+ bool set(SEQNUM, const std::string &) EXCEPT(IOException) { unreachable(); }
112
+ void get(SEQNUM, SEQNUM, std::vector<std::string> &) const EXCEPT(IOException) {}
113
+
114
+ SEQNUM getNextSenderMsgSeqNum() const EXCEPT(IOException) { unreachable(); }
115
+ SEQNUM getNextTargetMsgSeqNum() const EXCEPT(IOException) { unreachable(); }
116
+ void setNextSenderMsgSeqNum(SEQNUM value) EXCEPT(IOException) {}
117
+ void setNextTargetMsgSeqNum(SEQNUM value) EXCEPT(IOException) {}
118
+ void incrNextSenderMsgSeqNum() EXCEPT(IOException) {}
119
+ void incrNextTargetMsgSeqNum() EXCEPT(IOException) {}
120
+
121
+ UtcTimeStamp getCreationTime() const EXCEPT(IOException) { unreachable(); }
122
+
123
+ void reset(const UtcTimeStamp &now) EXCEPT(IOException) {}
124
+ void refresh() EXCEPT(IOException) {}
125
+ };
126
+
127
+ class PostgreSQLLogFactory : public LogFactory {
128
+ public:
129
+ static const std::string DEFAULT_DATABASE;
130
+ static const std::string DEFAULT_USER;
131
+ static const std::string DEFAULT_PASSWORD;
132
+ static const std::string DEFAULT_HOST;
133
+ static const short DEFAULT_PORT;
134
+
135
+ PostgreSQLLogFactory(const SessionSettings &settings) { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
136
+
137
+ PostgreSQLLogFactory(
138
+ const std::string &database,
139
+ const std::string &user,
140
+ const std::string &password,
141
+ const std::string &host,
142
+ short port) {
143
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
144
+ }
145
+
146
+ PostgreSQLLogFactory() { throw ConfigError("HAVE_POSTGRESQL not enabled"); }
147
+
148
+ Log *create() { return nullptr; }
149
+ Log *create(const SessionID &) { return nullptr; }
150
+ void destroy(Log *) {}
151
+ };
152
+
153
+ const std::string PostgreSQLLogFactory::DEFAULT_DATABASE = "";
154
+ const std::string PostgreSQLLogFactory::DEFAULT_USER = "";
155
+ const std::string PostgreSQLLogFactory::DEFAULT_PASSWORD = "";
156
+ const std::string PostgreSQLLogFactory::DEFAULT_HOST = "";
157
+ const short PostgreSQLLogFactory::DEFAULT_PORT = 0;
158
+
159
+ class PostgreSQLLog : public Log {
160
+ public:
161
+ PostgreSQLLog(const SessionID &sessionID, const DatabaseConnectionID &connectionID, PostgreSQLConnectionPool *pool) {
162
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
163
+ }
164
+
165
+ PostgreSQLLog(const DatabaseConnectionID &connectionID, PostgreSQLConnectionPool *pool) {
166
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
167
+ }
168
+
169
+ PostgreSQLLog(
170
+ const SessionID &sessionID,
171
+ const std::string &database,
172
+ const std::string &user,
173
+ const std::string &password,
174
+ const std::string &host,
175
+ short port) {
176
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
177
+ }
178
+
179
+ PostgreSQLLog(
180
+ const std::string &database,
181
+ const std::string &user,
182
+ const std::string &password,
183
+ const std::string &host,
184
+ short port) {
185
+ throw ConfigError("HAVE_POSTGRESQL not enabled");
186
+ }
187
+
188
+ ~PostgreSQLLog() {}
189
+
190
+ void clear() {}
191
+ void backup() {}
192
+ void setIncomingTable(const std::string &incomingTable) {}
193
+ void setOutgoingTable(const std::string &outgoingTable) {}
194
+ void setEventTable(const std::string &eventTable) {}
195
+
196
+ void onIncoming(const std::string &value) {}
197
+ void onOutgoing(const std::string &value) {}
198
+ void onEvent(const std::string &value) {}
199
+ };
200
+
201
+ } // namespace FIX
202
+
203
+ #endif
@@ -0,0 +1,66 @@
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_QUEUE_H
23
+ #define FIX_QUEUE_H
24
+
25
+ #include "Event.h"
26
+ #include "Mutex.h"
27
+ #include "Utility.h"
28
+ #include <queue>
29
+
30
+ namespace FIX {
31
+ /// A thread safe monitored queue
32
+ template <typename T> class Queue {
33
+ public:
34
+ void push(const T &value) {
35
+ Locker locker(m_mutex);
36
+ m_queue.push(value);
37
+ signal();
38
+ }
39
+
40
+ bool pop(T &value) {
41
+ Locker locker(m_mutex);
42
+ if (!m_queue.size()) {
43
+ return false;
44
+ }
45
+ value = m_queue.front();
46
+ m_queue.pop();
47
+ return true;
48
+ }
49
+
50
+ int size() {
51
+ Locker locker(m_mutex);
52
+ return m_queue.size();
53
+ }
54
+
55
+ void wait(double s) { m_event.wait(s); }
56
+
57
+ void signal() { m_event.signal(); }
58
+
59
+ private:
60
+ Event m_event;
61
+ Mutex m_mutex;
62
+ std::queue<T> m_queue;
63
+ };
64
+ } // namespace FIX
65
+
66
+ #endif