OnixS C++ CME MDP Premium Market Data Handler 5.10.2
Users' manual and API documentation
Loading...
Searching...
No Matches
SbeMessage Class Reference

#include <OnixS/CME/MDH/messaging/SbeMessage.h>

Classes

struct  NoCheck
struct  NoFieldsInit
struct  NoInit

Public Types

typedef MessageSize EncodedLength
typedef MessageSize BlockLength

Public Member Functions

 SbeMessage () noexcept
 SbeMessage (void *data, MessageSize size, SchemaVersion version)
 SbeMessage (void *data, MessageSize size)
 SbeMessage (void *data, MessageSize size, NoCheck) noexcept
void clear () noexcept
bool valid () const noexcept
MessageTemplateId templateId () const noexcept
SchemaVersion version () const noexcept
SchemaId schemaId () const noexcept
const void * binary () const noexcept
void * binary () noexcept
const void * blockEnd () noexcept
const void * blockEnd () const noexcept
MessageSize bufferSize () const noexcept
void * body () noexcept
BlockLength blockLength () const noexcept
const void * block () const noexcept
void * block () noexcept
Public Member Functions inherited from SbeFields< Messaging::SbeMessage, MessageSize >
Messaging::SbeMessagecontainer () noexcept
void zeroPaddingBytes (MessageSize offset) noexcept
void setOrdinary (MessageSize offset, FieldValue value) noexcept
void setEnumeration (MessageSize offset, typename Enumeration::Enum value) noexcept
void setFixedStr (MessageSize offset, StrRef value) noexcept

Protected Types

typedef SbeGroupList< MessageSizeGroupList
typedef SbeVariableLengthFieldList< MessageSizeVariableLengthFieldList

Protected Member Functions

SbeMessageversion (SchemaVersion version) noexcept
GroupList groups () noexcept
GroupList groups () const noexcept
template<typename Group>
void initGroup (Group &group, typename Group::EntrySize entrySize) noexcept
template<typename Group>
void setupGroup (Group &group, typename Group::Size entryCount, const void *messageTail)
template<typename Group>
void constructGroup (Group &group, typename Group::Size entryCount, const void *messageTail)
VariableLengthFieldList variableLengthFields () noexcept
VariableLengthFieldList variableLengthFields () const noexcept
void init (MessageHeader::TemplateId value, MessageHeader::BlockLength minimalBlockLength, MessageHeader::BlockLength blockLength, SchemaId id) noexcept
MessageSize calculateBinarySize (const void *tail) const noexcept
template<class Group, class Callable, class Owner>
void resetGroup (Callable callable, Owner &owner) noexcept
template<class Callable, class Owner>
void setVariableLengthFieldToNull (Callable callable, SchemaVersion since, Owner &owner) noexcept
template<class Group, class Callable, class Owner>
void resetGroup (Callable callable, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
Group getGroup (Callable callable, Owner &owner) const noexcept
template<class Group, class Callable, class Owner>
Group getGroup (Callable callable, SchemaVersion since, Owner &owner) const noexcept
template<class Group, class Callable, class Owner>
Group constructGroup (Callable callable, typename Group::Size length, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
Group constructGroup (Callable callable, typename Group::Size length, Owner &owner)
template<class Group, class Callable, class Owner>
Group setupGroup (Callable callable, typename Group::Size length, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
Group setupGroup (Callable callable, typename Group::Size length, Owner &owner)
Protected Member Functions inherited from SbeFields< Messaging::SbeMessage, MessageSize >
 SbeFields ()=default
 ~SbeFields ()=default
Protected Member Functions inherited from BinaryBlock< Messaging::SbeMessage, MessageSize >
 BinaryBlock ()=default
 ~BinaryBlock ()=default
Value ordinary (MessageSize offset) const noexcept
Enumeration::Enum enumeration (MessageSize offset) const noexcept
Decimal decimal (MessageSize offset) const
StrRef fixedStr (MessageSize offset) const noexcept
Protected Member Functions inherited from BinaryBlockBase
 ~BinaryBlockBase ()=default

Static Protected Member Functions

static constexpr MessageSize getMaxMessageSize () noexcept

Detailed Description

Definition at line 1164 of file SbeMessage.h.

Member Typedef Documentation

◆ BlockLength

Length of the message body representing a block of fixed-length fields.

Definition at line 1176 of file SbeMessage.h.

◆ EncodedLength

Length of the message binary data.

Definition at line 1173 of file SbeMessage.h.

◆ GroupList

typedef SbeGroupList<MessageSize> GroupList
protected

Binary group list instantiation.

Definition at line 1358 of file SbeMessage.h.

◆ VariableLengthFieldList

Binary group list instantiation.

Definition at line 1424 of file SbeMessage.h.

Constructor & Destructor Documentation

◆ SbeMessage() [1/4]

SbeMessage ( )
inlinenoexcept

Initializes a blank instance.

Definition at line 1179 of file SbeMessage.h.

◆ SbeMessage() [2/4]

SbeMessage ( void * data,
MessageSize size,
SchemaVersion version )
inline

Initializes the instance over the given memory block.

Definition at line 1187 of file SbeMessage.h.

◆ SbeMessage() [3/4]

SbeMessage ( void * data,
MessageSize size )
inline

Initializes the instance over the given memory block.

Definition at line 1204 of file SbeMessage.h.

◆ SbeMessage() [4/4]

SbeMessage ( void * data,
MessageSize size,
NoCheck  )
inlinenoexcept

Initializes the instance over the given memory block.

Note
Performs no check of the data consistency

Definition at line 1225 of file SbeMessage.h.

Member Function Documentation

◆ binary() [1/2]

const void * binary ( ) const
inlinenoexcept
Returns
SBE-encoded message content.

Definition at line 1279 of file SbeMessage.h.

◆ binary() [2/2]

void * binary ( )
inlinenoexcept
Returns
SBE-encoded message content.

Definition at line 1288 of file SbeMessage.h.

◆ block() [1/2]

const void * block ( ) const
inlinenoexcept
Returns
the beginning of the message body.

Definition at line 1340 of file SbeMessage.h.

◆ block() [2/2]

void * block ( )
inlinenoexcept
Returns
the beginning of the message body.

Definition at line 1349 of file SbeMessage.h.

◆ blockEnd() [1/2]

const void * blockEnd ( ) const
inlinenoexcept

Definition at line 1306 of file SbeMessage.h.

◆ blockEnd() [2/2]

const void * blockEnd ( )
inlinenoexcept

Definition at line 1297 of file SbeMessage.h.

◆ blockLength()

BlockLength blockLength ( ) const
inlinenoexcept
Returns
the size of the message body in bytes.

Definition at line 1331 of file SbeMessage.h.

◆ body()

void * body ( )
inlinenoexcept
Returns
the beginning of the message body.

Definition at line 1322 of file SbeMessage.h.

◆ bufferSize()

MessageSize bufferSize ( ) const
inlinenoexcept
Returns
the size of the message buffer.

Definition at line 1315 of file SbeMessage.h.

◆ calculateBinarySize()

MessageSize calculateBinarySize ( const void * tail) const
inlineprotectednoexcept

Definition at line 1471 of file SbeMessage.h.

◆ clear()

void clear ( )
inlinenoexcept

Blank the instance.

Definition at line 1237 of file SbeMessage.h.

◆ constructGroup() [1/3]

template<class Group, class Callable, class Owner>
Group constructGroup ( Callable callable,
typename Group::Size length,
Owner & owner )
inlineprotected

Creates a repeating group with the given number of entries, sets all optional fields of the group entries to null.

Definition at line 1559 of file SbeMessage.h.

◆ constructGroup() [2/3]

template<class Group, class Callable, class Owner>
Group constructGroup ( Callable callable,
typename Group::Size length,
SchemaVersion since,
Owner & owner )
inlineprotected

Creates a repeating group with the given number of entries, sets all optional fields of the group entries to null.

Definition at line 1546 of file SbeMessage.h.

◆ constructGroup() [3/3]

template<typename Group>
void constructGroup ( Group & group,
typename Group::Size entryCount,
const void * messageTail )
inlineprotected

Initializes the group header, sets all optional fields to null.

Definition at line 1416 of file SbeMessage.h.

◆ getGroup() [1/2]

template<class Group, class Callable, class Owner>
Group getGroup ( Callable callable,
Owner & owner ) const
inlineprotectednoexcept
Returns
the repeating group.

Definition at line 1525 of file SbeMessage.h.

◆ getGroup() [2/2]

template<class Group, class Callable, class Owner>
Group getGroup ( Callable callable,
SchemaVersion since,
Owner & owner ) const
inlineprotectednoexcept
Returns
the repeating group.

Definition at line 1533 of file SbeMessage.h.

◆ getMaxMessageSize()

constexpr MessageSize getMaxMessageSize ( )
inlinestaticconstexprprotectednoexcept

Maximal message size.

Definition at line 1594 of file SbeMessage.h.

◆ groups() [1/2]

GroupList groups ( ) const
inlineprotectednoexcept
Returns
the list of repeating groups

Definition at line 1386 of file SbeMessage.h.

◆ groups() [2/2]

GroupList groups ( )
inlineprotectednoexcept
Returns
the list of repeating groups

Definition at line 1373 of file SbeMessage.h.

◆ init()

void init ( MessageHeader::TemplateId value,
MessageHeader::BlockLength minimalBlockLength,
MessageHeader::BlockLength blockLength,
SchemaId id )
inlineprotectednoexcept

Definition at line 1453 of file SbeMessage.h.

◆ initGroup()

template<typename Group>
void initGroup ( Group & group,
typename Group::EntrySize entrySize )
inlineprotectednoexcept

Resets the group to the initial state.

Definition at line 1399 of file SbeMessage.h.

◆ resetGroup() [1/2]

template<class Group, class Callable, class Owner>
void resetGroup ( Callable callable,
Owner & owner )
inlineprotectednoexcept

Sets the group to the initial state.

Definition at line 1490 of file SbeMessage.h.

◆ resetGroup() [2/2]

template<class Group, class Callable, class Owner>
void resetGroup ( Callable callable,
SchemaVersion since,
Owner & owner )
inlineprotected

Resets the repeating group.

Definition at line 1513 of file SbeMessage.h.

◆ schemaId()

SchemaId schemaId ( ) const
inlinenoexcept
Returns
SBE Schema ID.

Definition at line 1270 of file SbeMessage.h.

◆ setupGroup() [1/3]

template<class Group, class Callable, class Owner>
Group setupGroup ( Callable callable,
typename Group::Size length,
Owner & owner )
inlineprotected

Setups the repeating group with the given number of entries.

Definition at line 1582 of file SbeMessage.h.

◆ setupGroup() [2/3]

template<class Group, class Callable, class Owner>
Group setupGroup ( Callable callable,
typename Group::Size length,
SchemaVersion since,
Owner & owner )
inlineprotected

Setups the repeating group with the given number of entries.

Definition at line 1570 of file SbeMessage.h.

◆ setupGroup() [3/3]

template<typename Group>
void setupGroup ( Group & group,
typename Group::Size entryCount,
const void * messageTail )
inlineprotected

Initializes the group header.

Definition at line 1407 of file SbeMessage.h.

◆ setVariableLengthFieldToNull()

template<class Callable, class Owner>
void setVariableLengthFieldToNull ( Callable callable,
SchemaVersion since,
Owner & owner )
inlineprotectednoexcept

Sets the variable length field to null.

Definition at line 1501 of file SbeMessage.h.

◆ templateId()

MessageTemplateId templateId ( ) const
inlinenoexcept
Returns
SBE Template identifier.

Definition at line 1252 of file SbeMessage.h.

◆ valid()

bool valid ( ) const
inlinenoexcept
Returns
true if the instance refers to a valid message, otherwise - false.

Definition at line 1245 of file SbeMessage.h.

◆ variableLengthFields() [1/2]

VariableLengthFieldList variableLengthFields ( ) const
inlineprotectednoexcept
Returns
the list of variable-length fields.

Definition at line 1441 of file SbeMessage.h.

◆ variableLengthFields() [2/2]

VariableLengthFieldList variableLengthFields ( )
inlineprotectednoexcept
Returns
the list of variable-length fields.

Definition at line 1428 of file SbeMessage.h.

◆ version() [1/2]

SchemaVersion version ( ) const
inlinenoexcept
Returns
SBE Schema version.

Definition at line 1261 of file SbeMessage.h.

◆ version() [2/2]

SbeMessage & version ( SchemaVersion version)
inlineprotectednoexcept

Sets the SBE Schema version.

Definition at line 1362 of file SbeMessage.h.