OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
Error Struct Reference

Public Types

enum  
typedef SchemaTraits Schema
typedef Error ThisType
Public Types inherited from SbeMessage
typedef MessageSize EncodedLength
typedef MessageSize BlockLength

Public Member Functions

 Error ()=default
 Error (void *data, EncodedLength length, SchemaVersion version=Schema::Version)
 Error (void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
 Error (void *data, EncodedLength length, NoInit)
 Error (SbeMessage message)
 Error (void *data, EncodedLength length, NoInit, NoCheck) noexcept
auto refSequenceId () const noexcept
ThisTyperefSequenceId (UInt32 value) noexcept
auto severityLevel () const noexcept
ThisTypeseverityLevel (SeverityLevelEnum value) noexcept
ThisTypeseverityLevel (NullOpt) noexcept
auto supportedSchemaVersion () const noexcept
ThisTypesupportedSchemaVersion (StrRef value) noexcept
auto exchangeCode () const noexcept
ThisTypeexchangeCode (Int32NULL value) noexcept
ThisTypeexchangeCode (NullOpt) noexcept
auto text () const noexcept
ThisTypetext (StrRef value) noexcept
ThisTypetext (NullOpt) noexcept
ThisTyperesetVariableFields () noexcept
ThisTypereset () noexcept
std::string toString () const
const void * tail () const noexcept
EncodedLength calculateBinarySize () const noexcept
Public Member Functions inherited from SbeMessage
 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
 operator bool () const noexcept
MessageTemplateId templateId () const noexcept
SchemaVersion version () const noexcept
SchemaId schemaId () const noexcept
SequenceId sequenceId () const noexcept
SbeMessagesequenceId (SequenceId value) noexcept
Timestamp sendTime () const noexcept
SbeMessagesendTime (Timestamp value) noexcept
HeaderFlags headerFlags () const noexcept
SbeMessageheaderFlags (HeaderFlags value) 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 >
ONIXS_ICEBOE_FORCEINLINE Messaging::SbeMessagecontainer () noexcept
void zeroPaddingBytes (MessageSize offset) noexcept
ONIXS_ICEBOE_FORCEINLINE void setOrdinary (MessageSize offset, FieldValue value) noexcept
ONIXS_ICEBOE_FORCEINLINE void setEnumeration (MessageSize offset, Enumeration value) noexcept
ONIXS_ICEBOE_FORCEINLINE void setFixedStr (MessageSize offset, StrRef value) noexcept

Static Public Member Functions

static constexpr BlockLength minimalBlockLength (SchemaVersion version) noexcept
static constexpr BlockLength blockLength (SchemaVersion version) noexcept
static constexpr MessageSize getMinimalVariableFieldsSize (SchemaVersion version)
static constexpr UInt64 getMaxMessageSize (UInt8) noexcept
static constexpr StrRef className () noexcept
static constexpr StrRef fixType () noexcept

Additional Inherited Members

Protected Types inherited from SbeMessage
typedef SbeGroupList< MessageSizeGroupList
typedef SbeVariableLengthFieldList< MessageSizeVariableLengthFieldList
Protected Member Functions inherited from SbeMessage
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)
template<typename DATA>
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>
ONIXS_ICEBOE_FORCEINLINE Group getGroup (Callable callable, Owner &owner) const noexcept
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE Group getGroup (Callable callable, SchemaVersion since, Owner &owner) const noexcept
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE Group constructGroup (Callable callable, typename Group::Size length, SchemaVersion since, Owner &owner)
template<class Group, class Callable, class Owner>
ONIXS_ICEBOE_FORCEINLINE 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
ONIXS_ICEBOE_FORCEINLINE Value ordinary (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE Enumeration enumeration (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE StrRef fixedStr (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE Value decimal (MessageSize offset) const noexcept
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptionalConverted< decltype(std::declval< Callable >()(std::declval< typenameArgType< Callable >::type >()))> >::type convertible (MessageSize offset, OptionalTag) const noexcept(noexcept(Callable::Nothrow))
Protected Member Functions inherited from BinaryBlockBase
 ~BinaryBlockBase ()=default
Static Protected Member Functions inherited from SbeMessage
static constexpr MessageSize getMaxMessageSize () noexcept

Detailed Description

Definition at line 1336 of file Messages.h.

Member Typedef Documentation

◆ Schema

Used template schema.

Definition at line 1341 of file Messages.h.

◆ ThisType

typedef Error ThisType

This type alias.

Definition at line 1344 of file Messages.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Message template ID from SBE schema.

Enumerator
TemplateId 114 

Definition at line 1347 of file Messages.h.

1347{ TemplateId = 114 };

Constructor & Destructor Documentation

◆ Error() [1/6]

Error ( )
default

Initializes a blank instance.

◆ Error() [2/6]

Error ( void * data,
EncodedLength length,
SchemaVersion version = Schema::Version )
inline

Initializes an instance over the given memory block.

Definition at line 1353 of file Messages.h.

1354 : SbeMessage(data, length, version)
1355 {
1356 checkVersion<Schema>(version);
1357 checkLength(length, version);
1358 init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
1359 reset();
1360 }

◆ Error() [3/6]

Error ( void * data,
EncodedLength length,
NoFieldsInit ,
SchemaVersion version = Schema::Version )
inline

Initializes an instance over the given memory block With no variable-length fields initialization It is assumed that the user does such an initialization manually.

Definition at line 1365 of file Messages.h.

1366 : SbeMessage(data, length, version)
1367 {
1368 checkVersion<Schema>(version);
1369 checkLength(length, version);
1370 init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
1371 resetVariableFields();
1372 }

◆ Error() [4/6]

Error ( void * data,
EncodedLength length,
NoInit  )
inline

Creates an instance over the given memory block.

Definition at line 1375 of file Messages.h.

1376 : SbeMessage(data, length)
1377 {
1378 checkCompatibility();
1379 }

◆ Error() [5/6]

Error ( SbeMessage message)
inlineexplicit

Creates an instance over the given SBE message.

Definition at line 1383 of file Messages.h.

1384 : SbeMessage(message)
1385 {
1386 assert(message.valid());
1387
1388 checkCompatibility();
1389 }

◆ Error() [6/6]

Error ( void * data,
EncodedLength length,
NoInit ,
NoCheck  )
inlinenoexcept

Creates an instance over the given memory block.

Performs no checks.

Definition at line 1393 of file Messages.h.

1394 : SbeMessage(data, length, NoCheck())
1395 {
1396 assert(schemaId() == Schema::Id);
1397 assert(version() >= Schema::MinimalVersion);
1398 assert(TemplateId == templateId());
1399 }
const char * version() noexcept

Member Function Documentation

◆ blockLength()

constexpr BlockLength blockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept

Size of message body in bytes.

Definition at line 1531 of file Messages.h.

1532 {
1533 return
1534 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
1535 minimalBlockLength(version);
1536 }

◆ calculateBinarySize()

EncodedLength calculateBinarySize ( ) const
inlinenoexcept
Returns
the size occupied by the message.

Definition at line 1609 of file Messages.h.

1610 {
1611 return
1612 SbeMessage::calculateBinarySize(tail());
1613 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept
Returns
class name.

Definition at line 1578 of file Messages.h.

1579 {
1580 return constructStrRef("Error");
1581 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ exchangeCode() [1/3]

auto exchangeCode ( ) const
inlinenoexcept

int32NULL.

Definition at line 1467 of file Messages.h.

1468 {
1469 constexpr BlockLength offset = 25;
1470
1471 return ordinary<NullInt32NULL>(offset, optional);
1472 }

◆ exchangeCode() [2/3]

ThisType & exchangeCode ( Int32NULL value)
inlinenoexcept

int32NULL.

Definition at line 1475 of file Messages.h.

1476 {
1477 constexpr BlockLength offset = 25;
1478
1479 setOrdinary(offset, value);
1480 return *this;
1481 }

◆ exchangeCode() [3/3]

ThisType & exchangeCode ( NullOpt )
inlinenoexcept

Definition at line 1483 of file Messages.h.

1484 {
1485 constexpr BlockLength offset = 25;
1486
1487 setOrdinary(offset, NullInt32NULL());
1488 return *this;
1489 }
IntegralConstant< Int32, -2147483647-1 > NullInt32NULL
Null value for an optional Int32NULL field.
Definition Fields.h:994

◆ fixType()

constexpr StrRef fixType ( )
inlinestaticconstexprnoexcept

FIX message type.

Definition at line 1586 of file Messages.h.

1587 {
1588 return constructStrRef("Error");
1589 }

◆ getMaxMessageSize()

constexpr UInt64 getMaxMessageSize ( UInt8 )
inlinestaticconstexprnoexcept

Maximal message size.

Definition at line 1551 of file Messages.h.

1552 {
1553 return
1554 static_cast<UInt64>(MessageHeaderBuilder::Size) +
1555 blockLength(Schema::Version);
1556 }

◆ getMinimalVariableFieldsSize()

constexpr MessageSize getMinimalVariableFieldsSize ( SchemaVersion version)
inlinestaticconstexpr

Minimal variable fields size (when variable-length fields are empty).

Definition at line 1541 of file Messages.h.

1542 {
1543 return
1544 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
1545 0;
1546 }

◆ minimalBlockLength()

constexpr BlockLength minimalBlockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept

Minimal size of message body in bytes.

Definition at line 1522 of file Messages.h.

1523 {
1524 return
1525 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
1526 129;
1527 }

◆ refSequenceId() [1/2]

auto refSequenceId ( ) const
inlinenoexcept

Provides access to refSequenceId field.

Definition at line 1403 of file Messages.h.

1404 {
1405 constexpr BlockLength offset = 0;
1406
1407 return ordinary<UInt32>(offset);
1408 }

◆ refSequenceId() [2/2]

ThisType & refSequenceId ( UInt32 value)
inlinenoexcept

Provides access to refSequenceId field.

Definition at line 1411 of file Messages.h.

1412 {
1413 constexpr BlockLength offset = 0;
1414
1415 setOrdinary(offset, value);
1416 return *this;
1417 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 1565 of file Messages.h.

1566 {
1567 severityLevel(nullOpt);
1568 exchangeCode(nullOpt);
1569 text(nullOpt);
1570
1571 resetVariableFields();
1572 return *this;
1573 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 1559 of file Messages.h.

1560 {
1561 return *this;
1562 }

◆ severityLevel() [1/3]

auto severityLevel ( ) const
inlinenoexcept

uint8NULL.

Definition at line 1421 of file Messages.h.

1422 {
1423 constexpr BlockLength offset = 4;
1424
1425 return enumeration<SeverityLevelEnum, NullUint8NULL>(offset, optional);
1426 }

◆ severityLevel() [2/3]

ThisType & severityLevel ( NullOpt )
inlinenoexcept

Definition at line 1437 of file Messages.h.

1438 {
1439 constexpr BlockLength offset = 4;
1440
1441 setOrdinary(offset, NullUint8NULL());
1442 return *this;
1443 }
IntegralConstant< UInt8, 255 > NullUint8NULL
Null value for an optional Uint8NULL field.
Definition Fields.h:1006

◆ severityLevel() [3/3]

ThisType & severityLevel ( SeverityLevelEnum value)
inlinenoexcept

uint8NULL.

Definition at line 1429 of file Messages.h.

1430 {
1431 constexpr BlockLength offset = 4;
1432
1433 setEnumeration<SeverityLevelEnum>(offset, value);
1434 return *this;
1435 }

◆ supportedSchemaVersion() [1/2]

auto supportedSchemaVersion ( ) const
inlinenoexcept

Provides access to supportedSchemaVersion field.

Definition at line 1447 of file Messages.h.

1448 {
1449 constexpr BlockLength offset = 5;
1450 constexpr BlockLength length = 20;
1451
1452 return fixedStr<length>(offset);
1453 }

◆ supportedSchemaVersion() [2/2]

ThisType & supportedSchemaVersion ( StrRef value)
inlinenoexcept

Provides access to supportedSchemaVersion field.

Definition at line 1456 of file Messages.h.

1457 {
1458 constexpr BlockLength offset = 5;
1459 constexpr BlockLength length = 20;
1460
1461 setFixedStr<length>(offset, value);
1462 return *this;
1463 }

◆ tail()

const void * tail ( ) const
inlinenoexcept
Returns
the end of the message.

Definition at line 1597 of file Messages.h.

1598 {
1599 return
1602 binary(),
1603 static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
1604 MessageHeader::Size));
1605 }
ONIXS_ICEBOE_FORCEINLINE void * toOpaquePtr(Type *ptr) noexcept
Makes the pointer an opaque one.
Definition Memory.h:51
ONIXS_ICEBOE_FORCEINLINE Type * advanceByBytes(Type *pointer, ptrdiff_t distance) noexcept
Advances the pointer to a given offset (distance) in bytes.
Definition Memory.h:110

◆ text() [1/3]

auto text ( ) const
inlinenoexcept

Provides access to text field.

Definition at line 1493 of file Messages.h.

1494 {
1495 constexpr BlockLength offset = 29;
1496 constexpr BlockLength length = 100;
1497
1498 return fixedStr<length>(offset, optional);
1499 }

◆ text() [2/3]

ThisType & text ( NullOpt )
inlinenoexcept

Definition at line 1511 of file Messages.h.

1512 {
1513 constexpr BlockLength offset = 29;
1514 constexpr BlockLength length = 100;
1515
1516 setFixedStr<length>(offset, StrRef());
1517 return *this;
1518 }
std::basic_string_view< Char > StrRef
Definition StrRef.h:46

◆ text() [3/3]

ThisType & text ( StrRef value)
inlinenoexcept

Provides access to text field.

Definition at line 1502 of file Messages.h.

1503 {
1504 constexpr BlockLength offset = 29;
1505 constexpr BlockLength length = 100;
1506
1507 setFixedStr<length>(offset, value);
1508 return *this;
1509 }

◆ toString()

std::string toString ( ) const
inline
Returns
a human-readable presentation.

Definition at line 260 of file MessageSerialization.h.

261{
262 return toStr(*this);
263}
std::string toStr(Order::PriceOptional value)
Definition Order.cpp:34