OnixS C++ CME iLink 3 Binary Order Entry Handler 1.18.9
API Documentation
Loading...
Searching...
No Matches
SbeMessage Class Reference

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)
void setVarDataField (DATA &data, StrRef value, const void *oldMessageTail)
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 Callable, class Owner>
void setVariableLengthField (Callable callable, StrRef value, Owner &owner)
template<class Callable, class Owner>
void setVariableLengthField (Callable callable, StrRef value, SchemaVersion since, Owner &owner)
template<class Callable, class Owner>
StrRef getVariableLengthField (Callable callable, const Owner &owner) const noexcept
template<class Callable, class Owner>
StrRef getVariableLengthField (Callable callable, SchemaVersion since, Owner &owner) const noexcept
template<class Callable, class Owner>
void setVariableLengthFieldToNull (Callable callable, Owner &owner) 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
Value decimal (MessageSize offset) const noexcept
StrRef fixedStr (MessageSize offset) const noexcept

Static Protected Member Functions

static constexpr MessageSize getMaxMessageSize () noexcept

Detailed Description

Definition at line 1108 of file SbeMessage.h.

Member Typedef Documentation

◆ BlockLength

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

Definition at line 1120 of file SbeMessage.h.

◆ EncodedLength

Length of the message binary data.

Definition at line 1117 of file SbeMessage.h.

◆ GroupList

typedef SbeGroupList<MessageSize> GroupList
protected

Binary group list instantiation.

Definition at line 1285 of file SbeMessage.h.

◆ VariableLengthFieldList

Binary group list instantiation.

Definition at line 1374 of file SbeMessage.h.

Constructor & Destructor Documentation

◆ SbeMessage() [1/4]

SbeMessage ( )
inlinenoexcept

Initializes a blank instance.

Definition at line 1123 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 1131 of file SbeMessage.h.

◆ SbeMessage() [3/4]

SbeMessage ( void * data,
MessageSize size )
inline

Initializes the instance over the given memory block.

Definition at line 1146 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 1165 of file SbeMessage.h.

Member Function Documentation

◆ binary() [1/2]

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

Definition at line 1214 of file SbeMessage.h.

◆ binary() [2/2]

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

Definition at line 1222 of file SbeMessage.h.

◆ block() [1/2]

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

Definition at line 1268 of file SbeMessage.h.

◆ block() [2/2]

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

Definition at line 1276 of file SbeMessage.h.

◆ blockEnd() [1/2]

const void * blockEnd ( ) const
inlinenoexcept

Definition at line 1238 of file SbeMessage.h.

◆ blockEnd() [2/2]

const void * blockEnd ( )
inlinenoexcept

Definition at line 1230 of file SbeMessage.h.

◆ blockLength()

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

Definition at line 1260 of file SbeMessage.h.

◆ body()

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

Definition at line 1252 of file SbeMessage.h.

◆ bufferSize()

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

Definition at line 1246 of file SbeMessage.h.

◆ calculateBinarySize()

MessageSize calculateBinarySize ( const void * tail) const
inlineprotectednoexcept

Definition at line 1420 of file SbeMessage.h.

◆ clear()

void clear ( )
inlinenoexcept

Blank the instance.

Definition at line 1177 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 1541 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 1531 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 1345 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 1513 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 1521 of file SbeMessage.h.

◆ getMaxMessageSize()

constexpr MessageSize getMaxMessageSize ( )
inlinestaticconstexprprotectednoexcept

Maximal message size.

Definition at line 1575 of file SbeMessage.h.

◆ getVariableLengthField() [1/2]

template<class Callable, class Owner>
StrRef getVariableLengthField ( Callable callable,
const Owner & owner ) const
inlineprotectednoexcept
Returns
the value of the variable length field.

Definition at line 1456 of file SbeMessage.h.

◆ getVariableLengthField() [2/2]

template<class Callable, class Owner>
StrRef getVariableLengthField ( Callable callable,
SchemaVersion since,
Owner & owner ) const
inlineprotectednoexcept
Returns
the value of the variable length field.

Definition at line 1464 of file SbeMessage.h.

◆ groups() [1/2]

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

Definition at line 1312 of file SbeMessage.h.

◆ groups() [2/2]

GroupList groups ( )
inlineprotectednoexcept
Returns
the list of repeating groups

Definition at line 1299 of file SbeMessage.h.

◆ init()

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

Definition at line 1403 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 1326 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 1482 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 1503 of file SbeMessage.h.

◆ schemaId()

SchemaId schemaId ( ) const
inlinenoexcept
Returns
SBE Schema ID.

Definition at line 1206 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 1562 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 1552 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 1335 of file SbeMessage.h.

◆ setVarDataField()

void setVarDataField ( DATA & data,
StrRef value,
const void * oldMessageTail )
inlineprotected

Sets the variable length field value.

Definition at line 1353 of file SbeMessage.h.

◆ setVariableLengthField() [1/2]

template<class Callable, class Owner>
void setVariableLengthField ( Callable callable,
StrRef value,
Owner & owner )
inlineprotected

Sets the value of the variable length field.

Definition at line 1439 of file SbeMessage.h.

◆ setVariableLengthField() [2/2]

template<class Callable, class Owner>
void setVariableLengthField ( Callable callable,
StrRef value,
SchemaVersion since,
Owner & owner )
inlineprotected

Sets the value of the variable length field.

Definition at line 1446 of file SbeMessage.h.

◆ setVariableLengthFieldToNull() [1/2]

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

Resets the variable length field.

Definition at line 1474 of file SbeMessage.h.

◆ setVariableLengthFieldToNull() [2/2]

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

Sets the variable length field to null.

Definition at line 1493 of file SbeMessage.h.

◆ templateId()

MessageTemplateId templateId ( ) const
inlinenoexcept
Returns
SBE Template identifier.

Definition at line 1190 of file SbeMessage.h.

◆ valid()

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

Definition at line 1184 of file SbeMessage.h.

◆ variableLengthFields() [1/2]

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

Definition at line 1391 of file SbeMessage.h.

◆ variableLengthFields() [2/2]

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

Definition at line 1378 of file SbeMessage.h.

◆ version() [1/2]

SchemaVersion version ( ) const
inlinenoexcept
Returns
SBE Schema version.

Definition at line 1198 of file SbeMessage.h.

◆ version() [2/2]

SbeMessage & version ( SchemaVersion version)
inlineprotectednoexcept

Sets the SBE Schema version.

Definition at line 1288 of file SbeMessage.h.