holoscan::SessionTransportFrontend

Beta
View as Markdown

PubSubTransport frontend that delegates to a shared InMemoryPubSubSession.

Each instance maintains its own per-participant connection state while forwarding send operations to the shared InMemoryTransport backend.

#include <holoscan/in_memory_pubsub_session.hpp>

Inherits from: nvidia::gxf::PubSubTransport (public)

This class is marked final.


Constructors

SessionTransportFrontend

holoscan::SessionTransportFrontend::SessionTransportFrontend(
std::shared_ptr<InMemoryPubSubSession> session,
std::shared_ptr<InMemorySessionParticipant> participant
)

Methods

initialize

nvidia::gxf::Expected<void> holoscan::SessionTransportFrontend::initialize() override

shutdown

nvidia::gxf::Expected<void> holoscan::SessionTransportFrontend::shutdown() override

is_initialized

bool holoscan::SessionTransportFrontend::is_initialized() const override

transport_model

nvidia::gxf::TransportModel holoscan::SessionTransportFrontend::transport_model() const override

native_topic_matching

bool holoscan::SessionTransportFrontend::native_topic_matching() const override

native_qos_enforcement

bool holoscan::SessionTransportFrontend::native_qos_enforcement() const override

supports_multicast

bool holoscan::SessionTransportFrontend::supports_multicast() const override

requires_explicit_connections

bool holoscan::SessionTransportFrontend::requires_explicit_connections() const override

connect_to

nvidia::gxf::Expected<void> holoscan::SessionTransportFrontend::connect_to(
const nvidia::gxf::EndpointInfo &remote_endpoint
) override

disconnect_from

nvidia::gxf::Expected<void> holoscan::SessionTransportFrontend::disconnect_from(
const nvidia::gxf::Gid &remote_gid
) override

is_connected_to

bool holoscan::SessionTransportFrontend::is_connected_to(
const nvidia::gxf::Gid &remote_gid
) const override

send

nvidia::gxf::Expected<void> holoscan::SessionTransportFrontend::send(
const nvidia::gxf::Gid &destination_gid,
const std::vector<uint8_t> &payload,
const nvidia::gxf::MessageMetadata &metadata
) override

set_on_receive

void holoscan::SessionTransportFrontend::set_on_receive(
nvidia::gxf::PubSubTransport::ReceiveCallback callback
) override

set_on_connection_established

void holoscan::SessionTransportFrontend::set_on_connection_established(
nvidia::gxf::PubSubTransport::ConnectionEstablishedCallback callback
) override

set_on_connection_lost

void holoscan::SessionTransportFrontend::set_on_connection_lost(
nvidia::gxf::PubSubTransport::ConnectionLostCallback callback
) override

get_send_queue_size

size_t holoscan::SessionTransportFrontend::get_send_queue_size() const override

get_receive_queue_size

size_t holoscan::SessionTransportFrontend::get_receive_queue_size() const override

get_connection_count

size_t holoscan::SessionTransportFrontend::get_connection_count() const override

Member variables

NameTypeDescription
session_std::shared_ptr< InMemoryPubSubSession >
participant_std::shared_ptr< InMemorySessionParticipant >
mutex_std::mutex
connections_std::unordered_map< nvidia::gxf::Gid, nvidia::gxf::EndpointInfo >
initialized_std::atomic< bool >