OnixS C++ CME MDP Premium Market Data Handler 5.11.1
Users' manual and API documentation
Loading...
Searching...
No Matches
FeedSettings Class Reference

#include <OnixS/CME/MDH/FeedSettings.h>

Public Member Functions

 FeedSettings (SettingChangeController *controller=nullptr)
 FeedSettings (const FeedSettings &other)
FeedSettings & feedANetworkInterfaces (const std::string &interfaces)
FeedSettings & feedBNetworkInterfaces (const std::string &interfaces)
PacketSize packetMaxSize () const
FeedSettings & packetMaxSize (PacketSize value)
const RealtimeFeedSettings & incrementalFeeds () const
RealtimeFeedSettings & incrementalFeeds ()
const MulticastRecoveryFeedSettings & instrumentFeeds () const
MulticastRecoveryFeedSettings & instrumentFeeds ()
const MulticastRecoveryFeedSettings & snapshotFeeds () const
MulticastRecoveryFeedSettings & snapshotFeeds ()
const MulticastRecoveryFeedSettings & mboSnapshotFeeds () const
MulticastRecoveryFeedSettings & mboSnapshotFeeds ()
const TcpRecoveryFeedSettings & historicalFeeds () const
TcpRecoveryFeedSettings & historicalFeeds ()
NetFeedEngine * engine () const
FeedSettings & engine (NetFeedEngine *engine)
FeedSettings & operator= (const FeedSettings &other)
Public Member Functions inherited from SettingGroup
 SettingGroup (SettingChangeController *controller=nullptr)
 ~SettingGroup ()=default
template<class Assignee, class Value>
void controlAssignment (const Messaging::Char *description, Assignee &assignee, Value value) const
template<class Changeable>
void controlChange (const Messaging::Char *description, void(Changeable::*change)(), Changeable &changeable) const
template<class Change, class Changeable, class Arg>
void controlChange (const Messaging::Char *description, Change change, Changeable &changeable, const Arg &arg) const
template<class Change, class Changeable, class Arg1, class Arg2>
void controlChange (const Messaging::Char *description, Change change, Changeable &changeable, const Arg1 &arg1, const Arg2 &arg2) const

Friends

class PcapReplayHelper
class HandlerSettings

Additional Inherited Members

Static Public Member Functions inherited from SettingGroup
static const SettingGroup & null () noexcept

Detailed Description

The parameters affecting all feeds involved into market data processing.

Definition at line 935 of file FeedSettings.h.

Constructor & Destructor Documentation

◆ FeedSettings() [1/2]

FeedSettings ( SettingChangeController * controller = nullptr)
inline

Initializes the instance with the default values.

Definition at line 939 of file FeedSettings.h.

◆ FeedSettings() [2/2]

FeedSettings ( const FeedSettings & other)
inline

Initializes the instance as a copy of the other one.

Definition at line 953 of file FeedSettings.h.

Member Function Documentation

◆ engine() [1/2]

NetFeedEngine * engine ( ) const
inline

Returns the Feed Engine used by the handler.

Returns
Pointer to the configured Feed Engine, or nullptr if it was explicitly cleared.
Note
Unless replaced, this method returns an internally owned default Feed Engine backed by a SocketFeedEngine and internal worker threads. Do not delete the default engine or invoke NetFeedEngine::process on it.

Definition at line 1091 of file FeedSettings.h.

◆ engine() [2/2]

FeedSettings & engine ( NetFeedEngine * engine)
inline

Replaces the default Feed Engine with an explicit instance.

Parameters
engineFeed Engine to bind, or nullptr to leave the handler without a Feed Engine.
Returns
Reference to this object.
Exceptions
std::runtime_errorIf the setting belongs to a handler that is processing market data or being configured from another source.
Note
The handler does not take ownership of an explicit Feed Engine. Keep the instance alive while it is bound and run its processing logic from the application.
Passing nullptr causes the next Handler::start() attempt to fail, reports Issue::OperationFailure through HandlerListener::onError, and leaves the handler stopped. Bind a valid engine before starting market data processing.

Definition at line 1107 of file FeedSettings.h.

◆ feedANetworkInterfaces()

FeedSettings & feedANetworkInterfaces ( const std::string & interfaces)
inline

Specifies one or more network interfaces on which to join multicast groups referring to primary (A) feeds.

Multiple interfaces can be specified using semi-colon as a delimiter.

The given member is kind of batch set-up. Manual specification of network interfaces for a particular feed is also possible through the corresponding parameters.

Exceptions
std::runtime_errorIf the setting belongs to a handler that is processing market data or being configured from another source.

Definition at line 977 of file FeedSettings.h.

◆ feedBNetworkInterfaces()

FeedSettings & feedBNetworkInterfaces ( const std::string & interfaces)
inline

Specifies one or more network interfaces on which to join multicast groups referring to secondary (B) feeds.

Multiple interfaces can be specified using semi-colon as a delimiter.

The given member is kind of batch set-up. Manual specification of network interfaces for a particular feed is also possible through the corresponding parameters.

Exceptions
std::runtime_errorIf the setting belongs to a handler that is processing market data or being configured from another source.

Definition at line 998 of file FeedSettings.h.

◆ historicalFeeds() [1/2]

TcpRecoveryFeedSettings & historicalFeeds ( )
inline

The settings related to historical (TCP Recovery) feeds.

Definition at line 1080 of file FeedSettings.h.

◆ historicalFeeds() [2/2]

const TcpRecoveryFeedSettings & historicalFeeds ( ) const
inline

The settings related to historical (TCP recovery) feeds.

Definition at line 1074 of file FeedSettings.h.

◆ incrementalFeeds() [1/2]

RealtimeFeedSettings & incrementalFeeds ( )
inline

The settings related to incremental feeds.

Definition at line 1032 of file FeedSettings.h.

◆ incrementalFeeds() [2/2]

const RealtimeFeedSettings & incrementalFeeds ( ) const
inline

The settings related to incremental feeds.

Definition at line 1026 of file FeedSettings.h.

◆ instrumentFeeds() [1/2]

MulticastRecoveryFeedSettings & instrumentFeeds ( )
inline

The settings related to instrument feeds.

Definition at line 1044 of file FeedSettings.h.

◆ instrumentFeeds() [2/2]

const MulticastRecoveryFeedSettings & instrumentFeeds ( ) const
inline

The settings related to instrument feeds.

Definition at line 1038 of file FeedSettings.h.

◆ mboSnapshotFeeds() [1/2]

MulticastRecoveryFeedSettings & mboSnapshotFeeds ( )
inline

The settings related to snapshot feeds.

Definition at line 1068 of file FeedSettings.h.

◆ mboSnapshotFeeds() [2/2]

const MulticastRecoveryFeedSettings & mboSnapshotFeeds ( ) const
inline

The settings related to snapshot feeds.

Definition at line 1062 of file FeedSettings.h.

◆ operator=()

FeedSettings & operator= ( const FeedSettings & other)
inline

Re-initializes the instance as a copy of the other one.

Exceptions
std::runtime_errorIf the setting belongs to a handler that is processing market data or being configured from another source.

Definition at line 1118 of file FeedSettings.h.

◆ packetMaxSize() [1/2]

PacketSize packetMaxSize ( ) const
inline

Max size for network packet transmitted by MDP.

Note
Default value is '1420'.

Definition at line 1010 of file FeedSettings.h.

◆ packetMaxSize() [2/2]

FeedSettings & packetMaxSize ( PacketSize value)
inline

Max size for network packet transmitted by MDP.

Exceptions
std::runtime_errorIf the setting belongs to a handler that is processing market data or being configured from another source.

Definition at line 1018 of file FeedSettings.h.

◆ snapshotFeeds() [1/2]

MulticastRecoveryFeedSettings & snapshotFeeds ( )
inline

The settings related to snapshot feeds.

Definition at line 1056 of file FeedSettings.h.

◆ snapshotFeeds() [2/2]

const MulticastRecoveryFeedSettings & snapshotFeeds ( ) const
inline

The settings related to snapshot feeds.

Definition at line 1050 of file FeedSettings.h.

◆ HandlerSettings

friend class HandlerSettings
friend

Definition at line 1130 of file FeedSettings.h.

◆ PcapReplayHelper

friend class PcapReplayHelper
friend

Definition at line 1126 of file FeedSettings.h.