#define ONIXS_CME_MDH_TESTING_NAMESPACE_END
#define ONIXS_CME_MDH_TESTING_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_EXPORTED
Builds CME MDP packets and delegates their delivery to a delivery policy.
Implements multicast delivery for DataFeed.
NetFeedRole::Enum secondaryFeed() const noexcept
Identifies the role complementary to the primary feed.
void sendSecondary(const ByteSpan packet[], std::size_t spansCount)
Sends a complete packet synchronously to the secondary feed.
MulticastDelivery(NetFeedType::Enum target, const FeedSettings &feedSettings=generateFeedSettings(), Messaging::TimeSpan arbitrageDelay=Messaging::TimeSpan{}, ReplayDelayer &delayPolicy=CombinedReplayDelayer::service(), const MulticastTargetOptions &options=MulticastTargetOptions{})
Creates and joins the multicast target for one network feed type.
~MulticastDelivery()
Drains queued secondary sends and releases the multicast target.
NetFeedRole::Enum primaryFeed() const noexcept
Identifies the endpoint used for primary transmissions.
bool hasSecondary() const noexcept
Indicates whether the complementary endpoint is configured.
Threading::Event send(const ByteSpan packet[], std::size_t spansCount)
Sends a complete packet to the configured multicast feeds.
void sendPrimary(const ByteSpan packet[], std::size_t spansCount)
Sends a complete packet synchronously to the primary feed.
static constexpr size_t MaxSpansCount
Maximum number of byte spans accepted by a gather send.
FeedSettings generateFeedSettings(ChannelId channel=999)
Generates feed settings for one testing channel.
DataFeed< MulticastDelivery > MulticastFeed
Builds and sends CME MDP packets to a configured multicast feed type.
std::unique_ptr< MulticastTarget > MulticastTargetPtr
std::span< const std::uint8_t > ByteSpan
Provides a non-owning read-only view over contiguous byte storage.
SharedFuture< void > Event
Completion signal for an asynchronous operation that does not produce a value.
static ReplayDelayer & service()
Returns the instance reference.
Identifies feed A or feed B within a redundant pair.
Enum
Supported feed roles.
Enum
Supported market data feed services.
Configures multicast sockets used by a multicast target.