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

#include <OnixS/CME/MDH/testing/MulticastSender.h>

Public Member Functions

 MulticastSender (const FeedSettings &feedSettings, Messaging::TimeSpan arbitrageDelay=Messaging::TimeSpan{}, ReplayDelayer &delayPolicy=CombinedReplayDelayer::service())
 ~MulticastSender ()
Threading::Event send (NetFeedType::Enum target, const void *data, size_t dataSize)
MulticastTargetPtrgetTarget (NetFeedType::Enum target)
 MulticastSender (const MulticastSender &)=delete
MulticastSenderoperator= (const MulticastSender &)=delete

Detailed Description

Definition at line 162 of file MulticastSender.h.

Constructor & Destructor Documentation

◆ MulticastSender() [1/2]

MulticastSender ( const FeedSettings & feedSettings,
Messaging::TimeSpan arbitrageDelay = Messaging::TimeSpan{},
ReplayDelayer & delayPolicy = CombinedReplayDelayer::service() )
explicit

Initializes multicast targets from the feed settings.

Parameters
feedSettingsFeed settings that define packet size limits and multicast connection settings for each supported network feed type.
arbitrageDelayDelay applied by targets before sending to secondary feeds when both feeds are configured.
delayPolicyPolicy used to implement secondary feed delays.
Exceptions
std::runtime_errorIf any multicast target cannot be initialized because its feed layout is unsupported or its required endpoints are incomplete.

◆ ~MulticastSender()

Releases all configured multicast targets.

◆ MulticastSender() [2/2]

MulticastSender ( const MulticastSender & )
delete

Member Function Documentation

◆ getTarget()

MulticastTargetPtr & getTarget ( NetFeedType::Enum target)

Returns the multicast target configured for the requested network feed type.

Parameters
targetNetwork feed type whose multicast target is requested.
Returns
Mutable pointer reference to the configured multicast target.
Exceptions
std::runtime_errorIf target is not configured.

◆ operator=()

MulticastSender & operator= ( const MulticastSender & )
delete

◆ send()

Threading::Event send ( NetFeedType::Enum target,
const void * data,
size_t dataSize )

Sends a datagram to the requested network feed type.

Parameters
targetNetwork feed type that receives the datagram.
dataPointer to the datagram payload.
dataSizePayload size in bytes.
Returns
Completion event for the asynchronous part of the send operation.
Exceptions
std::runtime_errorIf dataSize exceeds the configured packet size limit or target is not configured.