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.