OnixS C++ B3 Binary UMDF Market Data Handler 1.10.0
Users' manual and API documentation
Loading...
Searching...
No Matches
SingleThreadedEfViFeedEngine Class Reference

#include <OnixS/B3/MarketData/UMDF/FeedEngine.h>

Public Member Functions

 SingleThreadedEfViFeedEngine (const LoggerSettings &loggerSettings, const std::string &ifName, UInt16 memregSize=512, UInt32 receiveRingSize=1024)
 SingleThreadedEfViFeedEngine (const std::string &ifName, UInt16 memregSize=512, UInt32 receiveRingSize=1024)
NetFeedEngineProcessResult process ()
 ~SingleThreadedEfViFeedEngine () override
Public Member Functions inherited from FeedEngine
std::string info ()
virtual ~FeedEngine ()

Additional Inherited Members

Protected Member Functions inherited from FeedEngine
 FeedEngine (void *impl)
 FeedEngine (const FeedEngine &)=delete
FeedEngineoperator= (const FeedEngine &)=delete
Protected Attributes inherited from FeedEngine
void *const impl_

Detailed Description

Note
No external thread is allowed.
Sufficient amount of huge pages must be enabled.
VLAN is not supported.
Network interface card must be synchronized with the host's clock.
Root permissions ir required.

Definition at line 283 of file FeedEngine.h.

Constructor & Destructor Documentation

◆ SingleThreadedEfViFeedEngine() [1/2]

SingleThreadedEfViFeedEngine ( const LoggerSettings & loggerSettings,
const std::string & ifName,
UInt16 memregSize = 512,
UInt32 receiveRingSize = 1024 )

Constructor.

Parameters
loggerSettingsDefines feed engine logging settings.
ifNameNetwork interface card name.
receiveRingSizeNumber of buffers in a virtual interface receive ring. Single buffer is used for a single network packet. The receive ring must be capacious enough to place incoming packets during market data bursts.
memregSizeSize of allocated memory in the number of 2Mb pages, each page can fit 1024 packets This memory is used to store packets during packet ordering and recovery for all the client handlers.

◆ SingleThreadedEfViFeedEngine() [2/2]

SingleThreadedEfViFeedEngine ( const std::string & ifName,
UInt16 memregSize = 512,
UInt32 receiveRingSize = 1024 )
explicit

Constructor.

Parameters
ifNameNetwork interface card name.
receiveRingSizeNumber of buffers in a virtual interface receive ring. Single buffer is used for a single network packet. The receive ring must be capacious enough to place incoming packets during market data bursts.
memregSizeSize of allocated memory in the number of 2Mb pages, each page can fit 1024 packets This memory is used to store packets during packet ordering and recovery for all the client handlers.

◆ ~SingleThreadedEfViFeedEngine()

Member Function Documentation

◆ process()

NetFeedEngineProcessResult process ( )
inline

Carries out pending actions like data retrieval and event dispatching.

This function must be invoked after each handler-associated action (i.e., start, stop).

Note
This function must not be invoked concurrently.
This function must not be invoked as frequent as possible.

Definition at line 309 of file FeedEngine.h.