Inner Contents | |
Repeating Groups | |
The OnixS::B3::BOE::Messaging::SbeMessage represents a Simple Binary Encoding (SBE) message. The details about SBE can be found in the "Binary Order Entry - Message Specification Guidelines" document.
The Handler exposes the OnixS::B3::BOE::Messaging::MessageHolder class to encapsulate services related to handling SBE messages. It is a template class, which creates an underlying buffer to store an SBE message.
The template parameter SbeMessageType
serves to indicate how the underlying buffer will be interpreted and what type of SBE message it will store.
The OnixS::B3::BOE::Messaging::MessageHolder class contains the OnixS::B3::BOE::Messaging::SimpleOpenFramingHeader and a strongly typed SBE message over the underlying data buffer.
To access to the strongly typed SBE message, use the OnixS::B3::BOE::Messaging::MessageHolder::message method or OnixS::B3::BOE::Messaging::MessageHolder::operator->().
The Handler exposes strongly typed SBE message wrappers (e.g.: OnixS::B3::BOE::Messaging::NewOrderSingle102
), which provide interfaces to manipulate SBE message fields. These wrappers are used in strongly typed inbound callbacks of the OnixS::B3::BOE::SessionListener class (e.g.: OnixS::B3::BOE::SessionListener::onExecutionReportNew(const Messaging::ExecutionReportNew200 &, Session *)).
To create an SBE message object, use the OnixS::B3::BOE::Messaging::MessageHolder constructor. It creates the underlying buffer and the strongly typed message wrapper around it.
For example:
The following example demonstrates how SBE messages can be created.
null
values, required field values are undefined. This behavior could be changed using the OnixS::B3::BOE::Messaging::FieldsNoInitPolicy template argument.For example: