Syntalos::ipc

Syntalos::ipc

Syntalos::ipc

Classes

Name
classSyntalos::ipc::SyPublisher
Publisher side of a Syntalos data channel.
classSyntalos::ipc::SySubscriber
Subscriber side of a Syntalos data channel.

Types

Name
enum class size_tSyPubSubEvent { Unknown = 0, PublisherConnected = 1, PublisherDisconnected = 2, SubscriberConnected = 3, SubscriberDisconnected = 4, Sample = 5}
Event identifiers for the per-channel event service.
template <typename T >
using iox2::Publisher< iox2::ServiceType::Ipc, T, void >
IoxPublisher
template <typename T >
using iox2::Subscriber< iox2::ServiceType::Ipc, T, void >
IoxSubscriber
using iox2::Publisher< iox2::ServiceType::Ipc, iox2::bb::Slice< std::byte >, void >IoxSlicePublisher
using iox2::Subscriber< iox2::ServiceType::Ipc, iox2::bb::Slice< std::byte >, void >IoxSliceSubscriber
using iox2::Listener< iox2::ServiceType::Ipc >IoxListener
using iox2::Notifier< iox2::ServiceType::Ipc >IoxNotifier
template <typename Req ,typename Res >
using iox2::Server< iox2::ServiceType::Ipc, Req, void, Res, void >
IoxServer
using iox2::Server< iox2::ServiceType::Ipc, iox2::bb::Slice< std::byte >, void, DoneResponse, void >IoxUntypedServer
template <typename Req ,typename Res >
using iox2::Client< iox2::ServiceType::Ipc, Req, void, Res, void >
IoxClient
using iox2::Client< iox2::ServiceType::Ipc, iox2::bb::Slice< std::byte >, void, DoneResponse, void >IoxUntypedClient
using iox2::bb::ImmutableSlice< std::byte >IoxByteSlice
using iox2::bb::StaticString< IOX2_SERVICE_NAME_LENGTH >IoxServiceNameString
using iox2::WaitSet< iox2::ServiceType::Ipc >IoxWaitSet
using iox2::WaitSetGuard< iox2::ServiceType::Ipc >IoxWaitSetGuard

Functions

Name
template <typename T >
IoxPublisher< T >
makeTypedPublisher(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
template <typename T >
iox2::Subscriber< iox2::ServiceType::Ipc, T, void >
makeTypedSubscriber(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
IoxSlicePublishermakeSlicePublisher(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
IoxSliceSubscribermakeSliceSubscriber(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
IoxListenermakeEventListener(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
IoxNotifiermakeEventNotifier(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
template <typename Req ,typename Res >
IoxServer< Req, Res >
makeTypedServer(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
template <typename Req ,typename Res >
IoxClient< Req, Res >
makeTypedClient(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
IoxUntypedServermakeSliceServer(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
IoxUntypedClientmakeSliceClient(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr)
voiddrainListenerEvents(IoxListener & listener)
std::stringmakeModuleServiceName(const std::string & instanceId, const std::string & channelName)
std::expected< bool, std::string >setupIoxConfiguration()

Types Documentation

enum SyPubSubEvent

EnumeratorValueDescription
Unknown0
PublisherConnected1
PublisherDisconnected2Publisher joined the channel.
SubscriberConnected3Publisher left the channel.
SubscriberDisconnected4Subscriber joined the channel.
Sample5Subscriber left the channel.

Event identifiers for the per-channel event service.

Both publisher and subscriber share the same event service (same ServiceName as the pub/sub service). They use these IDs so that each side knows exactly what happened on a WaitSet wakeup.

using IoxPublisher

template <typename T >
using Syntalos::ipc::IoxPublisher = typedef iox2::Publisher<iox2::ServiceType::Ipc, T, void>;

using IoxSubscriber

template <typename T >
using Syntalos::ipc::IoxSubscriber = typedef iox2::Subscriber<iox2::ServiceType::Ipc, T, void>;

using IoxSlicePublisher

using Syntalos::ipc::IoxSlicePublisher = typedef iox2::Publisher<iox2::ServiceType::Ipc, iox2::bb::Slice<std::byte>, void>;

using IoxSliceSubscriber

using Syntalos::ipc::IoxSliceSubscriber = typedef iox2::Subscriber<iox2::ServiceType::Ipc, iox2::bb::Slice<std::byte>, void>;

using IoxListener

using Syntalos::ipc::IoxListener = typedef iox2::Listener<iox2::ServiceType::Ipc>;

using IoxNotifier

using Syntalos::ipc::IoxNotifier = typedef iox2::Notifier<iox2::ServiceType::Ipc>;

using IoxServer

template <typename Req ,
typename Res >
using Syntalos::ipc::IoxServer = typedef iox2::Server<iox2::ServiceType::Ipc, Req, void, Res, void>;

using IoxUntypedServer

using Syntalos::ipc::IoxUntypedServer = typedef iox2::Server<iox2::ServiceType::Ipc, iox2::bb::Slice<std::byte>, void, DoneResponse, void>;

using IoxClient

template <typename Req ,
typename Res >
using Syntalos::ipc::IoxClient = typedef iox2::Client<iox2::ServiceType::Ipc, Req, void, Res, void>;

using IoxUntypedClient

using Syntalos::ipc::IoxUntypedClient = typedef iox2::Client<iox2::ServiceType::Ipc, iox2::bb::Slice<std::byte>, void, DoneResponse, void>;

using IoxByteSlice

using Syntalos::ipc::IoxByteSlice = typedef iox2::bb::ImmutableSlice<std::byte>;

using IoxServiceNameString

using Syntalos::ipc::IoxServiceNameString = typedef iox2::bb::StaticString<IOX2_SERVICE_NAME_LENGTH>;

using IoxWaitSet

using Syntalos::ipc::IoxWaitSet = typedef iox2::WaitSet<iox2::ServiceType::Ipc>;

using IoxWaitSetGuard

using Syntalos::ipc::IoxWaitSetGuard = typedef iox2::WaitSetGuard<iox2::ServiceType::Ipc>;

Functions Documentation

function makeTypedPublisher

template <typename T >
IoxPublisher< T > makeTypedPublisher(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create a typed fixed-size publisher on an open-or-created pub-sub service. Uses blocking delivery.

function makeTypedSubscriber

template <typename T >
iox2::Subscriber< iox2::ServiceType::Ipc, T, void > makeTypedSubscriber(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create a typed fixed-size subscriber.

function makeSlicePublisher

inline IoxSlicePublisher makeSlicePublisher(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create a dynamic-size (byte-slice) publisher on an open-or-created pub-sub service. Used for variable-size control-plane channels (port changes, settings, …). For data-plane output ports, use SyPublisher::create() instead.

function makeSliceSubscriber

inline IoxSliceSubscriber makeSliceSubscriber(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create a dynamic-size (byte-slice) subscriber. Used for variable-size control-plane channels (port changes, settings, …). For data-plane output ports, use SySubscriber::create() instead.

function makeEventListener

inline IoxListener makeEventListener(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create an event-service listener (open_or_create).

function makeEventNotifier

inline IoxNotifier makeEventNotifier(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create/open an event-service notifier.

function makeTypedServer

template <typename Req ,
typename Res >
IoxServer< Req, Res > makeTypedServer(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create/open a typed request-response server with blocking response delivery.

function makeTypedClient

template <typename Req ,
typename Res >
IoxClient< Req, Res > makeTypedClient(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create/open a typed request-response client.

function makeSliceServer

inline IoxUntypedServer makeSliceServer(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create/open a sliced request-response server with blocking response delivery.

function makeSliceClient

inline IoxUntypedClient makeSliceClient(
    iox2::Node< iox2::ServiceType::Ipc > & node,
    const std::string & svcNameStr
)

Create/open a sliced request-response client.

function drainListenerEvents

inline void drainListenerEvents(
    IoxListener & listener
)

Drain all pending events from a listener.

function makeModuleServiceName

std::string makeModuleServiceName(
    const std::string & instanceId,
    const std::string & channelName
)

function setupIoxConfiguration

std::expected< bool, std::string > setupIoxConfiguration()

Updated on 2026-03-16 at 19:16:01 +0000