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

Public Types

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

Public Member Functions

 LogonRequest ()=default
 LogonRequest (void *data, EncodedLength length, SchemaVersion version=Schema::Version)
 LogonRequest (void *data, EncodedLength length, NoFieldsInit, SchemaVersion version=Schema::Version)
 LogonRequest (void *data, EncodedLength length, NoInit)
 LogonRequest (SbeMessage message)
 LogonRequest (void *data, EncodedLength length, NoInit, NoCheck) noexcept
auto userId () const noexcept
ThisTypeuserId (StrRef value) noexcept
auto clientId () const noexcept
ThisTypeclientId (Int32 value) noexcept
auto heartBeatInterval () const noexcept
ThisTypeheartBeatInterval (Uint16NULL value) noexcept
ThisTypeheartBeatInterval (NullOpt) noexcept
auto applicationName () const noexcept
ThisTypeapplicationName (StrRef value) noexcept
auto applicationVersion () const noexcept
ThisTypeapplicationVersion (StrRef value) noexcept
auto applicationVendor () const noexcept
ThisTypeapplicationVendor (StrRef value) noexcept
auto rawData () const noexcept
ThisTyperawData (StrRef value) noexcept
auto ipSessionToken () const noexcept
ThisTypeipSessionToken (StrRef value) noexcept
ThisTypeipSessionToken (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 33 of file Messages.h.

Member Typedef Documentation

◆ Schema

Used template schema.

Definition at line 38 of file Messages.h.

◆ ThisType

This type alias.

Definition at line 41 of file Messages.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Message template ID from SBE schema.

Enumerator
TemplateId 

Definition at line 44 of file Messages.h.

44{ TemplateId = 1 };

Constructor & Destructor Documentation

◆ LogonRequest() [1/6]

LogonRequest ( )
default

Initializes a blank instance.

◆ LogonRequest() [2/6]

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

Initializes an instance over the given memory block.

Definition at line 50 of file Messages.h.

51 : SbeMessage(data, length, version)
52 {
53 checkVersion<Schema>(version);
54 checkLength(length, version);
55 init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
56 reset();
57 }

◆ LogonRequest() [3/6]

LogonRequest ( 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 62 of file Messages.h.

63 : SbeMessage(data, length, version)
64 {
65 checkVersion<Schema>(version);
66 checkLength(length, version);
67 init(TemplateId, minimalBlockLength(version), blockLength(version), Schema::Id);
68 resetVariableFields();
69 }

◆ LogonRequest() [4/6]

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

Creates an instance over the given memory block.

Definition at line 72 of file Messages.h.

73 : SbeMessage(data, length)
74 {
75 checkCompatibility();
76 }

◆ LogonRequest() [5/6]

LogonRequest ( SbeMessage message)
inlineexplicit

Creates an instance over the given SBE message.

Definition at line 80 of file Messages.h.

81 : SbeMessage(message)
82 {
83 assert(message.valid());
84
85 checkCompatibility();
86 }

◆ LogonRequest() [6/6]

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

Creates an instance over the given memory block.

Performs no checks.

Definition at line 90 of file Messages.h.

91 : SbeMessage(data, length, NoCheck())
92 {
93 assert(schemaId() == Schema::Id);
94 assert(version() >= Schema::MinimalVersion);
95 assert(TemplateId == templateId());
96 }
const char * version() noexcept

Member Function Documentation

◆ applicationName() [1/2]

auto applicationName ( ) const
inlinenoexcept

Name of client application.

Definition at line 164 of file Messages.h.

165 {
166 constexpr BlockLength offset = 26;
167 constexpr BlockLength length = 30;
168
169 return fixedStr<length>(offset);
170 }

◆ applicationName() [2/2]

ThisType & applicationName ( StrRef value)
inlinenoexcept

Name of client application.

Definition at line 173 of file Messages.h.

174 {
175 constexpr BlockLength offset = 26;
176 constexpr BlockLength length = 30;
177
178 setFixedStr<length>(offset, value);
179 return *this;
180 }

◆ applicationVendor() [1/2]

auto applicationVendor ( ) const
inlinenoexcept

Vendor of client application.

Definition at line 204 of file Messages.h.

205 {
206 constexpr BlockLength offset = 106;
207 constexpr BlockLength length = 30;
208
209 return fixedStr<length>(offset);
210 }

◆ applicationVendor() [2/2]

ThisType & applicationVendor ( StrRef value)
inlinenoexcept

Vendor of client application.

Definition at line 213 of file Messages.h.

214 {
215 constexpr BlockLength offset = 106;
216 constexpr BlockLength length = 30;
217
218 setFixedStr<length>(offset, value);
219 return *this;
220 }

◆ applicationVersion() [1/2]

auto applicationVersion ( ) const
inlinenoexcept

Version of client application.

Definition at line 184 of file Messages.h.

185 {
186 constexpr BlockLength offset = 56;
187 constexpr BlockLength length = 50;
188
189 return fixedStr<length>(offset);
190 }

◆ applicationVersion() [2/2]

ThisType & applicationVersion ( StrRef value)
inlinenoexcept

Version of client application.

Definition at line 193 of file Messages.h.

194 {
195 constexpr BlockLength offset = 56;
196 constexpr BlockLength length = 50;
197
198 setFixedStr<length>(offset, value);
199 return *this;
200 }

◆ blockLength()

constexpr BlockLength blockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept

Size of message body in bytes.

Definition at line 284 of file Messages.h.

285 {
286 return
287 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
288 minimalBlockLength(version);
289 }

◆ calculateBinarySize()

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

Definition at line 361 of file Messages.h.

362 {
363 return
364 SbeMessage::calculateBinarySize(tail());
365 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept
Returns
class name.

Definition at line 330 of file Messages.h.

331 {
332 return constructStrRef("LogonRequest");
333 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ clientId() [1/2]

auto clientId ( ) const
inlinenoexcept

Company ID of Gateway ID.

Definition at line 120 of file Messages.h.

121 {
122 constexpr BlockLength offset = 20;
123
124 return ordinary<Int32>(offset);
125 }

◆ clientId() [2/2]

ThisType & clientId ( Int32 value)
inlinenoexcept

Company ID of Gateway ID.

Definition at line 128 of file Messages.h.

129 {
130 constexpr BlockLength offset = 20;
131
132 setOrdinary(offset, value);
133 return *this;
134 }

◆ fixType()

constexpr StrRef fixType ( )
inlinestaticconstexprnoexcept

FIX message type.

Definition at line 338 of file Messages.h.

339 {
340 return constructStrRef("A");
341 }

◆ getMaxMessageSize()

constexpr UInt64 getMaxMessageSize ( UInt8 )
inlinestaticconstexprnoexcept

Maximal message size.

Definition at line 304 of file Messages.h.

305 {
306 return
307 static_cast<UInt64>(MessageHeaderBuilder::Size) +
308 blockLength(Schema::Version);
309 }

◆ getMinimalVariableFieldsSize()

constexpr MessageSize getMinimalVariableFieldsSize ( SchemaVersion version)
inlinestaticconstexpr

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

Definition at line 294 of file Messages.h.

295 {
296 return
297 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
298 0;
299 }

◆ heartBeatInterval() [1/3]

auto heartBeatInterval ( ) const
inlinenoexcept

Default of 30 seconds.

Definition at line 138 of file Messages.h.

139 {
140 constexpr BlockLength offset = 24;
141
142 return ordinary<NullUint16NULL>(offset, optional);
143 }

◆ heartBeatInterval() [2/3]

ThisType & heartBeatInterval ( NullOpt )
inlinenoexcept

Definition at line 154 of file Messages.h.

155 {
156 constexpr BlockLength offset = 24;
157
158 setOrdinary(offset, NullUint16NULL());
159 return *this;
160 }
IntegralConstant< UInt16, 65535 > NullUint16NULL
Null value for an optional Uint16NULL field.
Definition Fields.h:1012

◆ heartBeatInterval() [3/3]

ThisType & heartBeatInterval ( Uint16NULL value)
inlinenoexcept

Default of 30 seconds.

Definition at line 146 of file Messages.h.

147 {
148 constexpr BlockLength offset = 24;
149
150 setOrdinary(offset, value);
151 return *this;
152 }

◆ ipSessionToken() [1/3]

auto ipSessionToken ( ) const
inlinenoexcept

ipSessionToken from Binary Utility Service Gateway (BUS).

Required for Binary Order Gateway (BGW) logons requests.

Definition at line 245 of file Messages.h.

246 {
247 constexpr BlockLength offset = 186;
248 constexpr BlockLength length = 50;
249
250 return fixedStr<length>(offset, optional);
251 }

◆ ipSessionToken() [2/3]

ThisType & ipSessionToken ( NullOpt )
inlinenoexcept

Definition at line 264 of file Messages.h.

265 {
266 constexpr BlockLength offset = 186;
267 constexpr BlockLength length = 50;
268
269 setFixedStr<length>(offset, StrRef());
270 return *this;
271 }
std::basic_string_view< Char > StrRef
Definition StrRef.h:46

◆ ipSessionToken() [3/3]

ThisType & ipSessionToken ( StrRef value)
inlinenoexcept

ipSessionToken from Binary Utility Service Gateway (BUS).

Required for Binary Order Gateway (BGW) logons requests.

Definition at line 255 of file Messages.h.

256 {
257 constexpr BlockLength offset = 186;
258 constexpr BlockLength length = 50;
259
260 setFixedStr<length>(offset, value);
261 return *this;
262 }

◆ minimalBlockLength()

constexpr BlockLength minimalBlockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept

Minimal size of message body in bytes.

Definition at line 275 of file Messages.h.

276 {
277 return
278 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
279 236;
280 }

◆ rawData() [1/2]

auto rawData ( ) const
inlinenoexcept

Password of Gateway ID.

Definition at line 224 of file Messages.h.

225 {
226 constexpr BlockLength offset = 136;
227 constexpr BlockLength length = 50;
228
229 return fixedStr<length>(offset);
230 }

◆ rawData() [2/2]

ThisType & rawData ( StrRef value)
inlinenoexcept

Password of Gateway ID.

Definition at line 233 of file Messages.h.

234 {
235 constexpr BlockLength offset = 136;
236 constexpr BlockLength length = 50;
237
238 setFixedStr<length>(offset, value);
239 return *this;
240 }

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 318 of file Messages.h.

319 {
320 heartBeatInterval(nullOpt);
321 ipSessionToken(nullOpt);
322
323 resetVariableFields();
324 return *this;
325 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 312 of file Messages.h.

313 {
314 return *this;
315 }

◆ tail()

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

Definition at line 349 of file Messages.h.

350 {
351 return
354 binary(),
355 static_cast<ptrdiff_t>(SbeMessage::blockLength()) +
356 MessageHeader::Size));
357 }
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

◆ toString()

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

Definition at line 60 of file MessageSerialization.h.

61{
62 return toStr(*this);
63}
std::string toStr(Order::PriceOptional value)
Definition Order.cpp:34

◆ userId() [1/2]

auto userId ( ) const
inlinenoexcept

Gateway ID.

Definition at line 100 of file Messages.h.

101 {
102 constexpr BlockLength offset = 0;
103 constexpr BlockLength length = 20;
104
105 return fixedStr<length>(offset);
106 }

◆ userId() [2/2]

ThisType & userId ( StrRef value)
inlinenoexcept

Gateway ID.

Definition at line 109 of file Messages.h.

110 {
111 constexpr BlockLength offset = 0;
112 constexpr BlockLength length = 20;
113
114 setFixedStr<length>(offset, value);
115 return *this;
116 }