MFClient  1.3.0
 All Classes Functions Variables Enumerations
MFProtoOutputBufferProvider.h
1 /*
2  * ThreadLocalBufferProvider.h
3  *
4  * Created on: Apr 4, 2016
5  * Author: smork
6  */
7 
8 #ifndef _MFTHREADLOCALBUFFERPROVIDER_H_
9 #define _MFTHREADLOCALBUFFERPROVIDER_H_
10 
11 #include <boost/thread.hpp>
12 #include <MFProtoOutputBuffer.h>
13 #include <MFProtoMsgWrapper.h>
14 
15 #include <mfmarketdata/Logon.hpp>
16 #include <mfmarketdata/SecurityDefinitionRequest.hpp>
17 #include <mfmarketdata/MarketDataRequest.hpp>
18 #include <mfmarketdata/MarketDataRequestHistoric.hpp>
19 #include <mfmarketdata/RegisterForBatch.hpp>
20 #include <mfmarketdata/UnregisterForBatch.hpp>
21 #include <mfmarketdata/Logout.hpp>
22 #include <mfmarketdata/LogoutResponse.hpp>
23 #include <mfmarketdata/Heartbeat.hpp>
24 
25 #include <mftrading/DecimalQtyNULL.hpp>
26 #include <mftrading/TradingSessionStatusRequest.hpp>
27 #include <mftrading/NewOrderSingle.hpp>
28 #include <mftrading/Logon.hpp>
29 #include <mftrading/MarketDefinitionRequest.hpp>
30 #include <mftrading/OrderCancelReplaceRequest.hpp>
31 #include <mftrading/OrderCancelRequest.hpp>
32 #include <mftrading/Logout.hpp>
33 #include <mftrading/LogoutResponse.hpp>
34 #include <mftrading/Heartbeat.hpp>
35 #include <mftrading/OrdType.hpp>
36 #include <mftrading/PriceNULL.hpp>
37 #include <mftrading/Side.hpp>
38 #include <mftrading/SubscriptionRequestType.hpp>
39 #include <mftrading/TimeInForce.hpp>
40 
41 #include <mfstp_booking/Confirmation.hpp>
42 #include <mfstp_booking/DecimalQtyNULL.hpp>
43 #include <mfstp_booking/ExecType.hpp>
44 #include <mfstp_booking/Flags.hpp>
45 #include <mfstp_booking/GroupSizeEncoding.hpp>
46 #include <mfstp_booking/Heartbeat.hpp>
47 #include <mfstp_booking/Logon.hpp>
48 #include <mfstp_booking/LogonResponse.hpp>
49 #include <mfstp_booking/Logout.hpp>
50 #include <mfstp_booking/LogoutResponse.hpp>
51 #include <mfstp_booking/MessageHeader.hpp>
52 #include <mfstp_booking/PartyRole.hpp>
53 #include <mfstp_booking/PriceNULL.hpp>
54 #include <mfstp_booking/SecurityDefinition.hpp>
55 #include <mfstp_booking/SecurityDefinitionRequest.hpp>
56 #include <mfstp_booking/Side.hpp>
57 #include <mfstp_booking/SubscriptionRequestType.hpp>
58 #include <mfstp_booking/TradeCaptureReportAck.hpp>
59 #include <mfstp_booking/TradeCaptureReportRequest.hpp>
60 #include <mfstp_booking/TradeCaptureReportSpotForward.hpp>
61 #include <mfstp_booking/TradeCaptureReportSwap.hpp>
62 #include <mfstp_booking/TradeReportRejectReason.hpp>
63 #include <mfstp_booking/TrdRptStatus.hpp>
64 
65 #include <mftradedaterollover/Logon.hpp>
66 #include <mftradedaterollover/LogonResponse.hpp>
67 #include <mftradedaterollover/Logout.hpp>
68 #include <mftradedaterollover/LogoutResponse.hpp>
69 #include <mftradedaterollover/Heartbeat.hpp>
70 #include <mftradedaterollover/TradeDateRequest.hpp>
71 #include <mftradedaterollover/TradeDateReport.hpp>
72 #include <mftradedaterollover/TradeDateType.hpp>
73 #include <mftradedaterollover/GroupSizeEncoding.hpp>
74 #include <mftradedaterollover/MessageHeader.hpp>
75 
76 
79  private:
80  class Buffers;
81 
83  static boost::thread_specific_ptr<Buffers> buffers;
84 
86  static Buffers* getBuffers();
87 
89  class Buffers {
90  public:
93  securityDefinitionRequest;
96  marketDataRequestHistoric;
100  MFProtoMsgWrapper<mfmarketdata::LogoutResponse> marketDataLogoutResponse;
101  MFProtoMsgWrapper<mfmarketdata::Heartbeat> marketDataHeartbeat;
102 
104  tradingSessionStatusRequest;
108  marketDefinitionRequest;
110  orderCancelReplaceRequest;
113  MFProtoMsgWrapper<mftrading::LogoutResponse> tradingLogoutResponse;
115 
117  MFProtoMsgWrapper<mfstp_booking::LogonResponse> stpBookingLogonResponse;
119  MFProtoMsgWrapper<mfstp_booking::LogoutResponse> stpBookingLogoutResponse;
121  MFProtoMsgWrapper<mfstp_booking::SecurityDefinition> stpBookingSecurityDefinition;
122  MFProtoMsgWrapper<mfstp_booking::SecurityDefinitionRequest> stpBookingSecurityDefinitionRequest;
123  MFProtoMsgWrapper<mfstp_booking::TradeCaptureReportAck> stpBookingTradeCaptureReportAck;
124  MFProtoMsgWrapper<mfstp_booking::TradeCaptureReportRequest> stpBookingTradeCaptureReportRequest;
125  MFProtoMsgWrapper<mfstp_booking::TradeCaptureReportSpotForward> stpBookingTradeCaptureReportSpotForward;
126  MFProtoMsgWrapper<mfstp_booking::TradeCaptureReportSwap> stpBookingTradeCaptureReportSwap;
127  MFProtoMsgWrapper<mfstp_booking::Confirmation> stpBookingConfirmation;
128 
129  MFProtoMsgWrapper<mftradedaterollover::Logon> tradeDateRollOverLogon;
130  MFProtoMsgWrapper<mftradedaterollover::LogonResponse> tradeDateRollOverLogonResponse;
131  MFProtoMsgWrapper<mftradedaterollover::Logout> tradeDateRollOverLogout;
132  MFProtoMsgWrapper<mftradedaterollover::LogoutResponse> tradeDateRollOverLogoutResponse;
133  MFProtoMsgWrapper<mftradedaterollover::Heartbeat> tradeDateRollOverHeartbeat;
135  MFProtoMsgWrapper<mftradedaterollover::TradeDateReport> tradeDateRollOverTradeDateReport;
136  };
137 
138  public:
139 
142  getBuffers()->marketDataLogon.reset();
143  return getBuffers()->marketDataLogon;
144  }
145 
148  return getBuffers()->marketDataLogon;
149  }
150 
154  getBuffers()->securityDefinitionRequest.reset();
155  return getBuffers()->securityDefinitionRequest;
156  }
157 
161  return getBuffers()->securityDefinitionRequest;
162  }
163 
167  getBuffers()->marketDataRequest.reset();
168  return getBuffers()->marketDataRequest;
169  }
170 
174  return getBuffers()->marketDataRequest;
175  }
176 
180  size_t msgSize = mfmarketdata::MarketDataRequestHistoric::sbeBlockLength() +
181  mfmarketdata::MarketDataRequestHistoric::NoRelatedSym::sbeHeaderSize() +
182  (numPairs * mfmarketdata::MarketDataRequestHistoric::NoRelatedSym::sbeBlockLength());
183 
184  getBuffers()->marketDataRequestHistoric.reset(msgSize);
185  return getBuffers()->marketDataRequestHistoric;
186  }
187 
191  return getBuffers()->marketDataRequestHistoric;
192  }
193 
196  createRegisterForBatch(int numSecIDs) {
197  // allocatation size is dependent on numSecIDs so calc here instead of using
198  // the default
199  size_t msgSize =
200  mfmarketdata::RegisterForBatch::sbeBlockLength() +
201  mfmarketdata::RegisterForBatch::NoSecurityIDs::sbeHeaderSize() +
202  (numSecIDs *
203  mfmarketdata::RegisterForBatch::NoSecurityIDs::sbeBlockLength());
204  getBuffers()->registerForBatch.reset(msgSize);
205  return getBuffers()->registerForBatch;
206  }
207 
211  return getBuffers()->registerForBatch;
212  }
213 
217  getBuffers()->unregisterForBatch.reset();
218  return getBuffers()->unregisterForBatch;
219  }
220 
224  return getBuffers()->unregisterForBatch;
225  }
226 
229  getBuffers()->marketDataLogout.reset();
230  return getBuffers()->marketDataLogout;
231  }
232 
235  return getBuffers()->marketDataLogout;
236  }
237 
241  getBuffers()->marketDataLogoutResponse.reset();
242  return getBuffers()->marketDataLogoutResponse;
243  }
244 
248  return getBuffers()->marketDataLogoutResponse;
249  }
250 
254  getBuffers()->marketDataHeartbeat.reset();
255  return getBuffers()->marketDataHeartbeat;
256  }
257 
260  return getBuffers()->marketDataHeartbeat;
261  }
262 
263  // ---- Trading -------------
264 
268  getBuffers()->tradingSessionStatusRequest.reset();
269  return getBuffers()->tradingSessionStatusRequest;
270  }
271 
275  return getBuffers()->tradingSessionStatusRequest;
276  }
277 
285  const int nStratParams = 0
286  ) {
287  // Allocatation size is dependent on nStratParams so calc here instead of
288  // using the default.
289  // Note that we always want a single instance of the sbeHeaderSize() -
290  // whether or not there
291  // are any StrategyParametersGrp items
292  const size_t msgSize =
293  mftrading::NewOrderSingle::sbeBlockLength() +
294  mftrading::NewOrderSingle::StrategyParametersGrp::sbeHeaderSize() +
295  (nStratParams *
296  mftrading::NewOrderSingle::StrategyParametersGrp::sbeBlockLength());
297  getBuffers()->newOrderSingle.reset(msgSize);
298  return getBuffers()->newOrderSingle;
299  }
300 
303  return getBuffers()->newOrderSingle;
304  }
305 
308  getBuffers()->tradingLogon.reset();
309  return getBuffers()->tradingLogon;
310  }
311 
314  return getBuffers()->tradingLogon;
315  }
316 
320  getBuffers()->marketDefinitionRequest.reset();
321  return getBuffers()->marketDefinitionRequest;
322  }
323 
327  return getBuffers()->marketDefinitionRequest;
328  }
329 
333  getBuffers()->orderCancelReplaceRequest.reset();
334  return getBuffers()->orderCancelReplaceRequest;
335  }
336 
340  return getBuffers()->orderCancelReplaceRequest;
341  }
342 
346  getBuffers()->orderCancelRequest.reset();
347  return getBuffers()->orderCancelRequest;
348  }
349 
369  (
370  const long venueID,
371  const long securityID,
372  const std::string& clOrdID,
373  const std::string& origOrdID,
374  const long orderID
375  ) {
377  getBuffers()->orderCancelRequest;
378  return orderCancelRequest;
379  }
380 
384  return getBuffers()->orderCancelRequest;
385  }
386 
389  getBuffers()->tradingLogout.reset();
390  return getBuffers()->tradingLogout;
391  }
392 
395  return getBuffers()->tradingLogout;
396  }
397 
401  getBuffers()->tradingLogoutResponse.reset();
402  return getBuffers()->tradingLogoutResponse;
403  }
404 
408  return getBuffers()->tradingLogoutResponse;
409  }
410 
413  getBuffers()->tradingHeartbeat.reset();
414  return getBuffers()->tradingHeartbeat;
415  }
416 
419  return getBuffers()->tradingHeartbeat;
420  }
421 
422 //------------ Stp Booking ----------------------------------------------
423 
426  getBuffers()->stpBookingLogon.reset();
427  return getBuffers()->stpBookingLogon;
428  }
429 
432  return getBuffers()->stpBookingLogon;
433  }
434 
438  getBuffers()->securityDefinitionRequest.reset();
439  return getBuffers()->stpBookingSecurityDefinitionRequest;
440  }
441 
445  // allocatation size is dependent on numPartyIDs so calc here instead of using
446  // the default
447  size_t msgSize =
448  mfstp_booking::TradeCaptureReportSpotForward::sbeBlockLength() +
449  mfstp_booking::TradeCaptureReportSpotForward::NoPartyIDs::sbeHeaderSize() +
450  (numPartyIDs *
451  mfstp_booking::TradeCaptureReportSpotForward::NoPartyIDs::sbeBlockLength());
452  getBuffers()->stpBookingTradeCaptureReportSpotForward.reset(msgSize);
453  return getBuffers()->stpBookingTradeCaptureReportSpotForward;
454  }
455 
459  return getBuffers()->stpBookingTradeCaptureReportSpotForward;
460  }
461 
465  // allocatation size is dependent on numPartyIDs so calc here instead of using
466  // the default
467  size_t msgSize =
468  mfstp_booking::TradeCaptureReportSwap::sbeBlockLength() +
469  mfstp_booking::TradeCaptureReportSwap::NoPartyIDs::sbeHeaderSize() +
470  (numPartyIDs *
471  mfstp_booking::TradeCaptureReportSwap::NoPartyIDs::sbeBlockLength());
472  getBuffers()->stpBookingTradeCaptureReportSwap.reset(msgSize);
473  return getBuffers()->stpBookingTradeCaptureReportSwap;
474  }
475 
479  return getBuffers()->stpBookingTradeCaptureReportSwap;
480  }
481 
485  getBuffers()->stpBookingConfirmation.reset();
486  return getBuffers()->stpBookingConfirmation;
487  }
488 
492  return getBuffers()->stpBookingConfirmation;
493  }
494 
497  getBuffers()->stpBookingLogout.reset();
498  return getBuffers()->stpBookingLogout;
499  }
500 
503  return getBuffers()->stpBookingLogout;
504  }
505 
509  getBuffers()->stpBookingLogoutResponse.reset();
510  return getBuffers()->stpBookingLogoutResponse;
511  }
512 
516  return getBuffers()->stpBookingLogoutResponse;
517  }
518 
521  getBuffers()->stpBookingHeartbeat.reset();
522  return getBuffers()->stpBookingHeartbeat;
523  }
524 
527  return getBuffers()->stpBookingHeartbeat;
528  }
529 
530 
531 //------------ Trade Date Roll Over ----------------------------------------------
532 
535  getBuffers()->tradeDateRollOverLogon.reset();
536  return getBuffers()->tradeDateRollOverLogon;
537  }
538 
541  return getBuffers()->tradeDateRollOverLogon;
542  }
543 
546  return getBuffers()->tradeDateRequest;
547  }
548 
551  getBuffers()->tradeDateRequest.reset();
552  return getBuffers()->tradeDateRequest;
553  }
554 
557  return getBuffers()->tradeDateRollOverTradeDateReport;
558  }
559 
562  getBuffers()->tradeDateRollOverLogout.reset();
563  return getBuffers()->tradeDateRollOverLogout;
564  }
565 
568  return getBuffers()->tradeDateRollOverLogout;
569  }
570 
574  getBuffers()->tradeDateRollOverLogoutResponse.reset();
575  return getBuffers()->tradeDateRollOverLogoutResponse;
576  }
577 
581  return getBuffers()->tradeDateRollOverLogoutResponse;
582  }
583 
586  getBuffers()->tradeDateRollOverHeartbeat.reset();
587  return getBuffers()->tradeDateRollOverHeartbeat;
588  }
589 
592  return getBuffers()->tradeDateRollOverHeartbeat;
593  }
594 };
595 
596 #endif /* _MFTHREADLOCALBUFFERPROVIDER_H_ */
597 
static MFProtoMsgWrapper< mfmarketdata::SecurityDefinitionRequest > & createSecurityDefinitionRequest()
Reset and get the reusable (and thread-specific) market data SecurityDefintionRequest message...
Definition: MFProtoOutputBufferProvider.h:153
static MFProtoMsgWrapper< mftradedaterollover::Logon > & getTradeDateRollOverLogon()
Get the reusable (and thread-specific) trade date rollover Logon message.
Definition: MFProtoOutputBufferProvider.h:540
static MFProtoMsgWrapper< mfmarketdata::MarketDataRequestHistoric > & createMarketDataRequestHistoric(int numPairs)
Reset and get the reusable (and thread-specific) market data MarketDataRequestHistoric message...
Definition: MFProtoOutputBufferProvider.h:179
static MFProtoMsgWrapper< mfstp_booking::Logon > & getStpBookingLogon()
Get the reusable (and thread-specific) stp booking Logon message.
Definition: MFProtoOutputBufferProvider.h:431
static MFProtoMsgWrapper< mftrading::LogoutResponse > & getTradingLogoutResponse()
Get the reusable (and thread-specific) trading LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:407
static MFProtoMsgWrapper< mftradedaterollover::LogoutResponse > & createTradeDateRollOverLogoutResponse()
Reset and get the reusable (and thread-specific) trade date rollover LogoutResponse message...
Definition: MFProtoOutputBufferProvider.h:573
static MFProtoMsgWrapper< mfstp_booking::LogoutResponse > & getStpBookingLogoutResponse()
Get the reusable (and thread-specific) stp booking LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:515
static MFProtoMsgWrapper< mfstp_booking::TradeCaptureReportSpotForward > & createStpBookingTradeCaptureReportSpotForward(int numPartyIDs)
Reset and get the reusable (and thread-specific) stp booking TradeCaptureReportSpotForward message...
Definition: MFProtoOutputBufferProvider.h:444
static MFProtoMsgWrapper< mftradedaterollover::TradeDateRequest > & createTradeDateRequest()
Reset and get the reusable (and thread-specific) trade date rollover TradeDateRequest message...
Definition: MFProtoOutputBufferProvider.h:550
static MFProtoMsgWrapper< mftrading::Logon > & createTradingLogon()
Reset and get the reusable (and thread-specific) trading Logon message.
Definition: MFProtoOutputBufferProvider.h:307
static MFProtoMsgWrapper< mftrading::MarketDefinitionRequest > & createMarketDefinitionRequest()
Reset and get the reusable (and thread-specific) trading MarketDefinitionRequest message.
Definition: MFProtoOutputBufferProvider.h:319
static MFProtoMsgWrapper< mftrading::NewOrderSingle > & createNewOrderSingle(const int nStratParams=0)
Create the trading new order single message. The number of trating strategy parameters. The default is 0
Definition: MFProtoOutputBufferProvider.h:284
static MFProtoMsgWrapper< mftrading::Logon > & getTradingLogon()
Get the reusable (and thread-specific) trading Logon message.
Definition: MFProtoOutputBufferProvider.h:313
static MFProtoMsgWrapper< mfmarketdata::RegisterForBatch > & getRegisterForBatch()
Get the reusable (and thread-specific) market data RegisterForBatch message.
Definition: MFProtoOutputBufferProvider.h:210
static MFProtoMsgWrapper< mftrading::Heartbeat > & createTradingHeartbeat()
Reset and get the reusable (and thread-specific) trading Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:412
static MFProtoMsgWrapper< mfstp_booking::TradeCaptureReportSpotForward > & getStpBookingTradeCaptureReportSpotForward()
Get the reusable (and thread-specific) stp booking TradeCaptureReportSpotForward message.
Definition: MFProtoOutputBufferProvider.h:458
static MFProtoMsgWrapper< mftrading::OrderCancelReplaceRequest > & createOrderCancelReplaceRequest()
Reset and get the reusable (and thread-specific) trading OrderCancelReplaceRequest message...
Definition: MFProtoOutputBufferProvider.h:332
static MFProtoMsgWrapper< mfstp_booking::SecurityDefinitionRequest > & createStpBookingSecurityDefinitionRequest()
Reset and get the reusable (and thread-specific) stp booking SecurityDefinitionRequest message...
Definition: MFProtoOutputBufferProvider.h:437
static MFProtoMsgWrapper< mftradedaterollover::TradeDateReport > & getTradeDateRollOverTradeDateReport()
Get the reusable (and thread-specific) trade date rollover TradeDateReport message.
Definition: MFProtoOutputBufferProvider.h:556
static MFProtoMsgWrapper< mftrading::Heartbeat > & getTradingHeartbeat()
Get the reusable (and thread-specific) trading Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:418
static MFProtoMsgWrapper< mftradedaterollover::LogoutResponse > & getTradeDateRollOverLogoutResponse()
Get the reusable (and thread-specific) trade date rollover LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:580
static MFProtoMsgWrapper< mfmarketdata::Logout > & createMarketDataLogout()
Reset and get the reusable (and thread-specific) market data Logout message.
Definition: MFProtoOutputBufferProvider.h:228
static MFProtoMsgWrapper< mfstp_booking::Logon > & createStpBookingLogon()
Reset and get the reusable (and thread-specific) stp booking Logon message.
Definition: MFProtoOutputBufferProvider.h:425
static MFProtoMsgWrapper< mfmarketdata::UnregisterForBatch > & getUnregisterForBatch()
Get the reusable (and thread-specific) market data UnregisterForBatch message.
Definition: MFProtoOutputBufferProvider.h:223
static MFProtoMsgWrapper< mfmarketdata::Heartbeat > & getMarketDataHeartbeat()
Get the reusable (and thread-specific) market data Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:259
static MFProtoMsgWrapper< mftrading::LogoutResponse > & createTradingLogoutResponse()
Reset and get the reusable (and thread-specific) trading LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:400
static MFProtoMsgWrapper< mfstp_booking::Heartbeat > & getStpBookingHeartbeat()
Get the reusable (and thread-specific) stp booking Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:526
static MFProtoMsgWrapper< mfmarketdata::UnregisterForBatch > & createUnregisterForBatch()
Reset and get the reusable (and thread-specific) market data UnregisterForBatch message.
Definition: MFProtoOutputBufferProvider.h:216
static MFProtoMsgWrapper< mftradedaterollover::Logon > & createTradeDateRollOverLogon()
Reset and get the reusable (and thread-specific) trade date rollover Logon message.
Definition: MFProtoOutputBufferProvider.h:534
static MFProtoMsgWrapper< mfstp_booking::LogoutResponse > & createStpBookingLogoutResponse()
Reset and get the reusable (and thread-specific) stp booking LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:508
static MFProtoMsgWrapper< mftradedaterollover::TradeDateRequest > & getTradeDateRequest()
Get the reusable (and thread-specific) trade date rollover TradeDateRequest message.
Definition: MFProtoOutputBufferProvider.h:545
static MFProtoMsgWrapper< mftradedaterollover::Heartbeat > & getTradeDateRollOverHeartbeat()
Get the reusable (and thread-specific) trade date rollover Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:591
static MFProtoMsgWrapper< mftrading::Logout > & createTradingLogout()
Reset and get the reusable (and thread-specific) trading Logout message.
Definition: MFProtoOutputBufferProvider.h:388
static MFProtoMsgWrapper< mftrading::TradingSessionStatusRequest > & createTradingSessionStatusRequest()
Reset and get the reusable (and thread-specific) trading TradingSessionStatusRequest message...
Definition: MFProtoOutputBufferProvider.h:267
Reusable thread-specific message structures.
Definition: MFProtoOutputBufferProvider.h:78
static MFProtoMsgWrapper< mfmarketdata::Heartbeat > & createMarketDataHeartbeat()
Reset and get the reusable (and thread-specific) market data Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:253
static MFProtoMsgWrapper< mftrading::OrderCancelRequest > & createOrderCancelRequest()
Reset and get the reusable (and thread-specific) trading OrderCancelRequest message.
Definition: MFProtoOutputBufferProvider.h:345
static MFProtoMsgWrapper< mfmarketdata::LogoutResponse > & createMarketDataLogoutResponse()
Reset and get the reusable (and thread-specific) market data LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:240
static MFProtoMsgWrapper< mftrading::OrderCancelReplaceRequest > & getOrderCancelReplaceRequest()
Get the reusable (and thread-specific) trading OrderCancelReplaceRequest message. ...
Definition: MFProtoOutputBufferProvider.h:339
static MFProtoMsgWrapper< mftrading::TradingSessionStatusRequest > & getTradingSessionStatusRequest()
Get the reusable (and thread-specific) trading TradingSessionStatusRequest message.
Definition: MFProtoOutputBufferProvider.h:274
void reset()
Clear out the buffer - resetting counters to the beginning. Allocate a block of the buffer for the he...
Definition: MFProtoMsgWrapper.h:41
static MFProtoMsgWrapper< mfstp_booking::Logout > & getStpBookingLogout()
Get the reusable (and thread-specific) stp booking Logout message.
Definition: MFProtoOutputBufferProvider.h:502
static MFProtoMsgWrapper< mfmarketdata::Logon > & getMarketDataLogon()
Get the reusable (and thread-specific) market data MarketDataLogon message.
Definition: MFProtoOutputBufferProvider.h:147
static MFProtoMsgWrapper< mfstp_booking::Logout > & createStpBookingLogout()
Reset and get the reusable (and thread-specific) stp booking Logout message.
Definition: MFProtoOutputBufferProvider.h:496
static MFProtoMsgWrapper< mfmarketdata::SecurityDefinitionRequest > & getSecurityDefinitionRequest()
Get the reusable (and thread-specific) market data SecurityDefintionRequest message.
Definition: MFProtoOutputBufferProvider.h:160
static MFProtoMsgWrapper< mftrading::OrderCancelRequest > & getOrderCancelRequest()
Reset and get the reusable (and thread-specific) trading OrderCancelRequest message.
Definition: MFProtoOutputBufferProvider.h:383
static MFProtoMsgWrapper< mftrading::MarketDefinitionRequest > & getMarketDefinitionRequest()
Get the reusable (and thread-specific) trading MarketDefinitionRequest message.
Definition: MFProtoOutputBufferProvider.h:326
static MFProtoMsgWrapper< mfstp_booking::TradeCaptureReportSwap > & getStpBookingTradeCaptureReportSwap()
Get the reusable (and thread-specific) stp booking TradeCaptureReportSwap message.
Definition: MFProtoOutputBufferProvider.h:478
static MFProtoMsgWrapper< mftradedaterollover::Heartbeat > & createTradeDateRollOverHeartbeat()
Reset and get the reusable (and thread-specific) trade date rollover Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:585
static MFProtoMsgWrapper< mfmarketdata::RegisterForBatch > & createRegisterForBatch(int numSecIDs)
Reset and get the reusable (and thread-specific) market data RegisterForBatch message.
Definition: MFProtoOutputBufferProvider.h:196
static MFProtoMsgWrapper< mfstp_booking::Confirmation > & createStpBookingConfirmation()
Reset and get the reusable (and thread-specific) stp booking Confirmation message.
Definition: MFProtoOutputBufferProvider.h:484
static MFProtoMsgWrapper< mftradedaterollover::Logout > & getTradeDateRollOverLogout()
Get the reusable (and thread-specific) trade date rollover Logout message.
Definition: MFProtoOutputBufferProvider.h:567
static MFProtoMsgWrapper< mftradedaterollover::Logout > & createTradeDateRollOverLogout()
Reset and get the reusable (and thread-specific) trade date rollover Logout message.
Definition: MFProtoOutputBufferProvider.h:561
static MFProtoMsgWrapper< mfmarketdata::LogoutResponse > & getMarketDataLogoutResponse()
get the reusable (and thread-specific) market data LogoutResponse message.
Definition: MFProtoOutputBufferProvider.h:247
static MFProtoMsgWrapper< mfstp_booking::TradeCaptureReportSwap > & createStpBookingTradeCaptureReportSwap(int numPartyIDs)
Reset and get the reusable (and thread-specific) stp booking TradeCaptureReportSwap message...
Definition: MFProtoOutputBufferProvider.h:464
static MFProtoMsgWrapper< mfmarketdata::MarketDataRequest > & getMarketDataRequest()
Get the reusable (and thread-specific) market data MarketDataRequest message.
Definition: MFProtoOutputBufferProvider.h:173
static MFProtoMsgWrapper< mfmarketdata::MarketDataRequest > & createMarketDataRequest()
Reset and get the reusable (and thread-specific) market data MarketDataRequest message.
Definition: MFProtoOutputBufferProvider.h:166
static MFProtoMsgWrapper< mftrading::NewOrderSingle > & getNewOrderSingle()
get the reusable (and thread-specific) trading NewOrderSingle message.
Definition: MFProtoOutputBufferProvider.h:302
static MFProtoMsgWrapper< mfstp_booking::Confirmation > & getStpBookingConfirmation()
Get the reusable (and thread-specific) stp booking Confirmation message.
Definition: MFProtoOutputBufferProvider.h:491
static MFProtoMsgWrapper< mfmarketdata::MarketDataRequestHistoric > & getMarketDataRequestHistoric()
Get the reusable (and thread-specific) market data MarketDataRequestHistoric message.
Definition: MFProtoOutputBufferProvider.h:190
static MFProtoMsgWrapper< mfmarketdata::Logon > & createMarketDataLogon()
Reset and get the reusable (and thread-specific) market data MarketDataLogon message.
Definition: MFProtoOutputBufferProvider.h:141
static MFProtoMsgWrapper< mfstp_booking::Heartbeat > & createStpBookingHeartbeat()
Reset and get the reusable (and thread-specific) stp booking Heartbeat message.
Definition: MFProtoOutputBufferProvider.h:520
static MFProtoMsgWrapper< mfmarketdata::Logout > & getMarketDataLogout()
Get the reusable (and thread-specific) market data Logout message.
Definition: MFProtoOutputBufferProvider.h:234
static MFProtoMsgWrapper< mftrading::Logout > & getTradingLogout()
Get the reusable (and thread-specific) trading Logout message.
Definition: MFProtoOutputBufferProvider.h:394