B2BITS FIX Antenna HFT  1.0.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
Engine::PutMessageOptions Struct Reference

Options to Session::put method. More...

#include <B2BITS_Session.h>

Public Types

enum  BatchOp : char { BatchOp::NotBatched = 0, BatchOp::Begin, BatchOp::Send, BatchOp::Add }
 Message batching options. More...
 

Public Member Functions

 PutMessageOptions ()
 Default constructor. More...
 

Public Attributes

struct {
   char   asyncSend_:1
 Specifies either Session should enqueue the passed FIXMessage for async sending or try put it directly to the socket. More...
 
   char   disablePacketizing_:1
 Specifies either Session should allow packetizing of the passed FIXMessage or not. More...
 
   char   measureProcessingLatency_: 1
 Specifies whatever to measure put call processing latency. More...
 
   char   overrideMsgGlobID_:1
 Specifies either Session should generate a new globalMsgID for the passed FIXMessage or not. More...
 
   char   overrideSenderCompID_:1
 Specifies either Session should override SenderCompID field of the passed FIXMessage or not. More...
 
   char   overrideSendingTime_:1
 Specifies either Session should override SendingTime field of the passed FIXMessage or not. More...
 
   char   overrideTargetCompID_:1
 Specifies either Session should override TargetCompID field of the passed FIXMessage or not. More...
 
}; 
 Options bitfields struct. More...
 
size_t batchBufferSize_ = 0
 Memory buffer size for message batching. More...
 
BatchOp batchOp_ = BatchOp::NotBatched
 
uint64_t processingBeginTimestamp_ = 0
 Processing begin timestamp. More...
 
uint64_t processingLatencyBeforeSendNs_ = 0
 Processing time in nanoseconds before entering socket send call. More...
 
uint64_t processingLatencyFullNs_ = 0
 Full processing time in nanoseconds. More...
 

Detailed Description

Options to Session::put method.

Member Enumeration Documentation

Message batching options.

Enumerator
NotBatched 

Not a batched message.

Throws std::runtime_error if there is a batch in progress.

Begin 

Begins a new batch.

Throws std::runtime_error if a batch is already in progress.

Send 

Adds a new message to the current batch and completes it, sends the batch buffer.

Throws std::runtime_error if none started.

Add 

Adds a new message to the current batch.

Starts a new batch if none started.

Constructor & Destructor Documentation

Engine::PutMessageOptions::PutMessageOptions ( )
inline

Default constructor.

Member Data Documentation

struct { ... }

Options bitfields struct.

char Engine::PutMessageOptions::asyncSend_

Specifies either Session should enqueue the passed FIXMessage for async sending or try put it directly to the socket.

true to enqueue; false to pass directly. By default property equals to false.

size_t Engine::PutMessageOptions::batchBufferSize_ = 0

Memory buffer size for message batching.

This value is only read when starting a batch. Can be used to optimize memory copying when placing messages into the batch buffer.

BatchOp Engine::PutMessageOptions::batchOp_ = BatchOp::NotBatched
char Engine::PutMessageOptions::disablePacketizing_

Specifies either Session should allow packetizing of the passed FIXMessage or not.

true to disable; false to allow. By default property equals to false.

Note
Packetizing is enabled for message if both session and message allow packetizing
See Also
SessionExtraParameters::enablePacketizingOfOutgoing_
char Engine::PutMessageOptions::measureProcessingLatency_

Specifies whatever to measure put call processing latency.

char Engine::PutMessageOptions::overrideMsgGlobID_

Specifies either Session should generate a new globalMsgID for the passed FIXMessage or not.

true to override; false to pass as is. By default property equals to true.

char Engine::PutMessageOptions::overrideSenderCompID_

Specifies either Session should override SenderCompID field of the passed FIXMessage or not.

true to override; false to pass as is. By default property equals to true.

Referenced by fix_algo::reorderSMHForMiax().

char Engine::PutMessageOptions::overrideSendingTime_

Specifies either Session should override SendingTime field of the passed FIXMessage or not.

true to override; false to pass as is. By default property equals to true.

Referenced by fix_algo::reorderSMHForMiax().

char Engine::PutMessageOptions::overrideTargetCompID_

Specifies either Session should override TargetCompID field of the passed FIXMessage or not.

true to override; false to pass as is. By default property equals to true.

Referenced by fix_algo::reorderSMHForMiax().

uint64_t Engine::PutMessageOptions::processingBeginTimestamp_ = 0
mutable

Processing begin timestamp.

Stores timestamp right after entering into put method.

uint64_t Engine::PutMessageOptions::processingLatencyBeforeSendNs_ = 0
mutable

Processing time in nanoseconds before entering socket send call.

uint64_t Engine::PutMessageOptions::processingLatencyFullNs_ = 0
mutable

Full processing time in nanoseconds.