|
libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
#include "types.hpp"#include "optional_field_types.hpp"#include "../../common/iso_10383_mic_codes.hpp"#include "core/memops.hpp"#include <chrono>#include "messages_impl.hpp"Go to the source code of this file.
Namespaces | |
| namespace | isimud |
| namespace | isimud::ISIMUD_VER_NAMESPACE |
| namespace | isimud::ISIMUD_VER_NAMESPACE::exchanges |
| namespace | isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE |
| namespace | isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common |
Typedefs | |
| using | MsgType_t = MsgT |
| using | MsgTypes_t = common::MsgType_t |
| using | Header_t = Header< MsgT, Msg > |
| using | bitfields_to_type_map = optional::NewOrder::bitfields_to_type_map |
| using | bitfields_tags_type = bitfields_to_type_map::bitfields_tags_type |
| using | RejectCode_t = int |
Enumerations | |
| enum | : typename std::underlying_type< MsgType_t >::type { static_type =static_cast<typename std::underlying_type<MsgType_t>::type>(Msg) } |
| enum | : bool { has_static_size =false } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : common::Quantity_t { seq_num =0 } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : common::Quantity_t { seq_num =0 } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
| enum | : std::size_t { header_t_size =sizeof(Header_t) } |
Functions | |
| template<class MsgT , MsgT Msg> | |
| class isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::Header | isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::__attribute__ ((packed)) |
| Header (std::size_t l) noexcept(true) FORCE_INLINE | |
| Header (std::size_t l, SeqNum_t seqNumber) noexcept(true) FORCE_INLINE | |
| const MsgType_t | type () const noexcept(true) |
| std::uint16_t | length () const noexcept(true) |
| The actual, not the foolish BATSBOE-specified, length which excludes the start_of_message field. More... | |
| bool | is_valid () const noexcept(true) |
| Verify that the referenced FIX message is valid. More... | |
| ~Header () noexcept(true)=default | |
| template<class MsgT , MsgT Msg> | |
| isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::LogonRequest Header | isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::__attribute__ ((packed)) |
| LogonRequest (SeqNum_t seqNum, const SessionSubID_t sessionSubID, const UserName_t &UN, const Password_t &P, const bool noUnspec) noexcept(true) FORCE_INLINE | |
| LogonRequest (logon_args_t const &a) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | LogonRequest (SrcMsg const &msg, SeqNum_t seqNum, const SessionSubID_t sessionSubID, const bool noUnspec)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| LogoutRequest (SeqNum_t seqNum) noexcept(true) FORCE_INLINE | |
| LogoutRequest (logoff_args_t const &a) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | LogoutRequest (SrcMsg const &msg, SeqNum_t seqNum) noexcept(true)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| ClientHeartbeat (SeqNum_t seqNum) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | ClientHeartbeat (SrcMsg const &msg, SeqNum_t seqNum) noexcept(true)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| template<class MsgT , MsgT Msg> | |
| isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::LogonReply Header | isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::__attribute__ ((packed)) |
| LogonReply () noexcept(true) FORCE_INLINE | |
| LogonReply (SeqNum_t seqNum) noexcept(true) FORCE_INLINE | |
| LoginResponseStatus | rejectCode () const noexcept(true) FORCE_INLINE |
| void | rejectCode (LoginResponseStatus const &rc) noexcept(true) FORCE_INLINE |
| Logout () noexcept(true) FORCE_INLINE | |
| Logout (SeqNum_t seqNum, LogoutReason lr) noexcept(true) FORCE_INLINE | |
| ServerHeartbeat (SeqNum_t seqNum) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | ServerHeartbeat (SrcMsg const &msg, SeqNum_t seqNum) noexcept(true)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| ReplayComplete (SeqNum_t seqNum) noexcept(true) FORCE_INLINE | |
| NewOrder (SeqNum_t seqNum, ClientOrderID_t const &clID, OrdType const oT, TIF const t, Side const s, SecurityID_t instID, common::Quantity_t ordQty, Price_t p) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | NewOrder (SrcMsg const &msg, SeqNum_t seqNum) noexcept(true)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| ClientOrderID_t const & | clientOrderID () const noexcept(true) |
| void | clientOrderID (ClientOrderID_t const &clID) noexcept(true) |
| common::Quantity_t | orderQty () const noexcept(true) |
| void | orderQty (common::Quantity_t i) noexcept(true) |
| OrdType const & | orderType () const noexcept(true) |
| void | orderType (OrdType const &i) noexcept(true) |
| void | side (common::Side i) noexcept(true) |
| SecurityID_t const & | instrumentID () const noexcept(true) |
| void | instrumentID (SecurityID_t const &i) noexcept(true) |
| Price_t | limitPrice () const noexcept(true) |
| void | limitPrice (Price_t p) noexcept(true) |
| TIF | tif () const noexcept(true) |
| void | tif (TIF t) noexcept(true) |
| CancelOrder (SeqNum_t seqNum, ClientOrderID_t const &origclID) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | CancelOrder (SrcMsg const &msg, SeqNum_t seqNum) noexcept(true)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| ClientOrderID_t const & | originalClientOrderID () const noexcept(true) |
| void | originalClientOrderID (ClientOrderID_t const &origclID) noexcept(true) |
| ModifyOrder (SeqNum_t seqNum, ClientOrderID_t const &clID, common::Quantity_t ordQty, Price_t p, Side s) noexcept(true) FORCE_INLINE | |
| template<class SrcMsg > | |
| __stdcall | ModifyOrder (SrcMsg const &msg, SeqNum_t seqNum) noexcept(true)=deleteFORCE_INLINE |
| Create a message from the source message. More... | |
| void | side (Side i) noexcept(true) |
| OrderAcknowledgement (SeqNum_t seqNum, ClientOrderID_t const &clID) noexcept(true) FORCE_INLINE | |
| OrderRejected () noexcept(true) FORCE_INLINE | |
| OrderRejected (SeqNum_t seqNum, ClientOrderID_t const &clID, OrderRejectReason orr) noexcept(true) FORCE_INLINE | |
| OrderModified () noexcept(true) FORCE_INLINE | |
| OrderModified (SeqNum_t seqNum, ClientOrderID_t const &clID, Price_t p, Side s, common::Quantity_t ordQty) noexcept(true) FORCE_INLINE | |
| OrderRestated (SeqNum_t seqNum, ClientOrderID_t const &clID) noexcept(true) FORCE_INLINE | |
| UserModifyRejected () noexcept(true) FORCE_INLINE | |
| UserModifyRejected (SeqNum_t seqNum, ClientOrderID_t const &clID, OrderRejectReason orr) noexcept(true) FORCE_INLINE | |
| OrderCancelled () noexcept(true) FORCE_INLINE | |
| OrderCancelled (SeqNum_t seqNum, ClientOrderID_t const &clID, OrderRejectReason orr, Price_t p, Side s, common::Quantity_t ls, common::Quantity_t ordQty) noexcept(true) FORCE_INLINE | |
| common::Quantity_t | leavesQty () const noexcept(true) |
| Price_t | lastPrice () const noexcept(true) |
| CancelRejected () noexcept(true) FORCE_INLINE | |
| CancelRejected (SeqNum_t seqNum, ClientOrderID_t const &clID, OrderRejectReason crr) noexcept(true) FORCE_INLINE | |
| OrderExecution () noexcept(true) FORCE_INLINE | |
| OrderExecution (SeqNum_t seqNum, ClientOrderID_t const &clID, Price_t const price, SecurityID_t const &instID, Side s) noexcept(true) FORCE_INLINE | |
| Price_t | executedPrice () const noexcept(true) |
| void | executedPrice (Price_t p) noexcept(true) |
| common::Quantity_t | executedQty () const noexcept(true) |
| void | executedQty (common::Quantity_t eq) noexcept(true) |
| void | leavesQty (common::Quantity_t eq) noexcept(true) |
| TradeCancelOrCorrect (SeqNum_t seqNum, ClientOrderID_t const &clID) noexcept(true) FORCE_INLINE | |
Variables | |
| const uint16_t | isimud::ISIMUD_VER_NAMESPACE::exchanges::BATSBOE::common::msg_start_code =0xBABA |
| const std::uint16_t | start_of_message =msg_start_code |
| std::uint16_t | length_ |
| const MsgType_t | type_ {Msg} |
| const std::uint8_t | matchingUnit =0 |
| const SeqNum_t | sequenceNumber |
| const SessionSubID_t | sessionSubID |
| const UserName_t | userName |
| const Password_t | password |
| const uint8_t | noUnspecifiedUnitReplay |
| optional::LogonTypes::OrderAcknowledgement::bitfields | orderAcknowledgement_bitfields |
| optional::LogonTypes::OrderRejected::bitfields | orderRejected_bitfields |
| optional::LogonTypes::OrderModified::bitfields | orderModified_bitfields |
| optional::LogonTypes::OrderRestated::bitfields | orderRestated_bitfields |
| const optional::LogonTypes::UserModifyRejected::bitfields | userModifyRejected_bitfields |
| optional::LogonTypes::OrderCancelled::bitfields | orderCancelled_bitfields |
| optional::LogonTypes::OrderExecution::bitfields | orderExecution_bitfields |
| optional::LogonTypes::TradeCancelCorrect::bitfields | tradeCancelCorrect_bitfields |
| optional::LogonTypes::Reserved::bitfields | reserved_bitfields |
| optional::LogonTypes::TradeCaptureReportAck::bitfields | tradeCaptureReportAck_bitfields |
| optional::LogonTypes::TradeCaptureReportRej::bitfields | tradeCaptureReportRej_bitfields |
| optional::LogonTypes::TradeCaptureConfirm::bitfields | tradeCaptureConfirm_bitfields |
| optional::LogonTypes::TradeCaptureDecline::bitfields | tradeCaptureDecline_bitfields |
| const uint8_t | reserved [128] ={0} |
| const uint8_t | numberOfUnits =0 |
| LoginResponseStatus | loginResponseStatus |
| LogoutReason | logoutReason |
| LogoutReasonText_t | logoutReasonText |
| common::SeqNum_t | lastReceivedSequenceNumber |
| const DateTime_t | transactionTime |
| const OrderRejectReason | orderRejectReason |
| const OrderRejectReason | modifyRejectReason |
| const OrderRejectReason | cancelReason |
| const OrderRejectReason | cancelRejectReason |
| using bitfields_tags_type = bitfields_to_type_map::bitfields_tags_type |
Definition at line 2 of file messages.hpp.
| using bitfields_to_type_map = optional::TradeCancelOrCorrect::bitfields_to_type_map |
Definition at line 1 of file messages.hpp.
| using Header_t = Header<MsgType, MsgType::TradeCancelOrCorrect> |
Definition at line 0 of file messages.hpp.
| using MsgType_t = MsgT |
Definition at line 1 of file messages.hpp.
| using MsgTypes_t = common::MsgType_t |
Definition at line 2 of file messages.hpp.
| typedef mit_jse::reject_codes_enum RejectCode_t |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
| anonymous enum : common::Quantity_t |
| Enumerator | |
|---|---|
| seq_num | |
Definition at line 4 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
| anonymous enum : common::Quantity_t |
| Enumerator | |
|---|---|
| seq_num | |
Definition at line 4 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 4 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 3 of file messages.hpp.
| Enumerator | |
|---|---|
| static_type | |
Definition at line 3 of file messages.hpp.
| anonymous enum : bool |
| Enumerator | |
|---|---|
| has_static_size | The message is dynamically-sized, not statically, so sizeof(MsgT) is the maximum amount to copy, but it could be less, given by length(). |
Definition at line 6 of file messages.hpp.
| anonymous enum : std::size_t |
| Enumerator | |
|---|---|
| header_t_size | |
Definition at line 1 of file messages.hpp.
|
noexcept |
|
deletenoexcept |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
noexcept |
|
noexcept |
|
explicitnoexcept |
|
explicitdeletenoexcept |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
constexprnoexcept |
Definition at line 17 of file messages.hpp.
|
noexcept |
Definition at line 20 of file messages.hpp.
|
noexcept |
Definition at line 22 of file messages.hpp.
|
noexcept |
Definition at line 25 of file messages.hpp.
|
noexcept |
Definition at line 29 of file messages.hpp.
|
noexcept |
Definition at line 32 of file messages.hpp.
|
explicitnoexcept |
|
noexcept |
|
noexcept |
Definition at line 8 of file messages.hpp.
|
noexcept |
|
constexprnoexcept |
Verify that the referenced FIX message is valid.
Definition at line 30 of file messages.hpp.
|
noexcept |
|
noexcept |
Definition at line 36 of file messages.hpp.
|
noexcept |
Definition at line 39 of file messages.hpp.
|
constexprnoexcept |
The actual, not the foolish BATSBOE-specified, length which excludes the start_of_message field.
Definition at line 9 of file socket_server.cpp.
|
noexcept |
Definition at line 47 of file messages.hpp.
|
noexcept |
Definition at line 50 of file messages.hpp.
|
noexcept |
|
explicitnoexcept |
|
explicitnoexcept |
|
noexcept |
|
delete |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
noexcept |
|
noexcept |
|
explicitnoexcept |
|
explicitnoexcept |
|
explicitdeletenoexcept |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
noexcept |
|
explicitdeletenoexcept |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
explicitnoexcept |
|
explicitdeletenoexcept |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
explicitnoexcept |
|
explicitnoexcept |
|
explicitnoexcept |
|
noexcept |
|
noexcept |
|
explicitnoexcept |
|
explicitnoexcept |
|
constexprnoexcept |
Definition at line 24 of file messages.hpp.
|
noexcept |
Definition at line 27 of file messages.hpp.
|
noexcept |
|
noexcept |
|
explicitnoexcept |
|
noexcept |
Definition at line 43 of file messages.hpp.
|
noexcept |
|
noexcept |
Definition at line 17 of file messages.hpp.
|
noexcept |
Definition at line 20 of file messages.hpp.
|
noexcept |
Definition at line 14 of file messages.hpp.
|
noexcept |
Definition at line 17 of file messages.hpp.
|
explicitnoexcept |
|
explicitnoexcept |
|
explicitdeletenoexcept |
Create a message from the source message.
If an error is generated, then this function will need to be specialised for the particular Msg-type.
| msg | The source message from which the target message should be created. |
|
noexcept |
Definition at line 37 of file messages.hpp.
|
noexcept |
Definition at line 53 of file messages.hpp.
References isimud::ISIMUD_VER_NAMESPACE::exchanges::MIT::common::Header::has_static_size.
|
noexcept |
Definition at line 71 of file messages.hpp.
|
noexcept |
Definition at line 74 of file messages.hpp.
|
explicitnoexcept |
|
noexcept |
Definition at line 23 of file messages.hpp.
|
noexcept |
|
explicitnoexcept |
|
protecteddefaultnoexcept |
| const OrderRejectReason cancelReason |
Definition at line 33 of file messages.hpp.
| const OrderRejectReason cancelRejectReason |
Definition at line 23 of file messages.hpp.
| common::SeqNum_t lastReceivedSequenceNumber |
Definition at line 7 of file messages.hpp.
|
protected |
Definition at line 13 of file messages.hpp.
| LoginResponseStatus loginResponseStatus |
Definition at line 9 of file messages.hpp.
| LogoutReason logoutReason |
Definition at line 5 of file messages.hpp.
| LogoutReasonText_t logoutReasonText |
Definition at line 6 of file messages.hpp.
| const std::uint8_t matchingUnit =0 |
Definition at line 17 of file messages.hpp.
| const OrderRejectReason modifyRejectReason |
Definition at line 24 of file messages.hpp.
| const uint8_t noUnspecifiedUnitReplay |
Definition at line 8 of file messages.hpp.
| const uint8_t numberOfUnits =0 |
Definition at line 23 of file messages.hpp.
| optional::LogonTypes::OrderAcknowledgement::bitfields orderAcknowledgement_bitfields |
Definition at line 9 of file messages.hpp.
| optional::LogonTypes::OrderCancelled::bitfields orderCancelled_bitfields |
Definition at line 14 of file messages.hpp.
| optional::LogonTypes::OrderExecution::bitfields orderExecution_bitfields |
Definition at line 15 of file messages.hpp.
| optional::LogonTypes::OrderModified::bitfields orderModified_bitfields |
Definition at line 11 of file messages.hpp.
| optional::LogonTypes::OrderRejected::bitfields orderRejected_bitfields |
Definition at line 10 of file messages.hpp.
| const OrderRejectReason orderRejectReason |
Definition at line 25 of file messages.hpp.
| optional::LogonTypes::OrderRestated::bitfields orderRestated_bitfields |
Definition at line 12 of file messages.hpp.
| const Password_t password |
Definition at line 7 of file messages.hpp.
| const uint8_t reserved ={0} |
Definition at line 22 of file messages.hpp.
| optional::LogonTypes::Reserved::bitfields reserved_bitfields |
Definition at line 17 of file messages.hpp.
| const exchanges::BATSBOE::common::SeqNum_t sequenceNumber |
Definition at line 18 of file messages.hpp.
| const SessionSubID_t sessionSubID |
Definition at line 5 of file messages.hpp.
| const std::uint16_t start_of_message =msg_start_code |
Definition at line 10 of file messages.hpp.
| optional::LogonTypes::TradeCancelCorrect::bitfields tradeCancelCorrect_bitfields |
Definition at line 16 of file messages.hpp.
| optional::LogonTypes::TradeCaptureConfirm::bitfields tradeCaptureConfirm_bitfields |
Definition at line 20 of file messages.hpp.
| optional::LogonTypes::TradeCaptureDecline::bitfields tradeCaptureDecline_bitfields |
Definition at line 21 of file messages.hpp.
| optional::LogonTypes::TradeCaptureReportAck::bitfields tradeCaptureReportAck_bitfields |
Definition at line 18 of file messages.hpp.
| optional::LogonTypes::TradeCaptureReportRej::bitfields tradeCaptureReportRej_bitfields |
Definition at line 19 of file messages.hpp.
| const DateTime_t transactionTime |
Definition at line 7 of file messages.hpp.
| const MsgType_t type_ {Msg} |
Definition at line 16 of file messages.hpp.
| const optional::LogonTypes::UserModifyRejected::bitfields userModifyRejected_bitfields |
Definition at line 13 of file messages.hpp.
| const UserName_t userName |
Definition at line 6 of file messages.hpp.