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
std::stringmakeModuleServiceName(const std::string & instanceId, const std::string & channelName)
Construct the service name for a given module instance and channel.
voidfindAndCleanupDeadNodes()
Find and cleanup dead nodes explicitly.
const iox2::Config &ioxDefaultConfig()
automakeIoxNode(const std::string & nodeName)
template <typename T >
IoxPublisher< T >
makeTypedPublisher(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
template <typename T >
iox2::Subscriber< iox2::ServiceType::Ipc, T, void >
makeTypedSubscriber(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
IoxSlicePublishermakeSlicePublisher(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
IoxSliceSubscribermakeSliceSubscriber(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
IoxListenermakeEventListener(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
IoxNotifiermakeEventNotifier(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
template <typename Req ,typename Res >
IoxServer< Req, Res >
makeTypedServer(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
template <typename Req ,typename Res >
IoxClient< Req, Res >
makeTypedClient(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
IoxUntypedServermakeSliceServer(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
IoxUntypedClientmakeSliceClient(iox2::Node< iox2::ServiceType::Ipc > & node, const std::string & svcNameStr, const IpcServiceTopology & topology =IpcServiceTopology())
voiddrainListenerEvents(IoxListener & listener)

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 makeModuleServiceName

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

Construct the service name for a given module instance and channel.

function findAndCleanupDeadNodes

void findAndCleanupDeadNodes()

Find and cleanup dead nodes explicitly.

function ioxDefaultConfig

const iox2::Config & ioxDefaultConfig()

The iox2 configuration for Syntalos IPC services.

function makeIoxNode

inline auto makeIoxNode(
    const std::string & nodeName
)

Create a node with Syntalos’ default configuration.

function makeTypedPublisher

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

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,
    const IpcServiceTopology & topology =IpcServiceTopology()
)

Create a typed fixed-size subscriber.

function makeSlicePublisher

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

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 instead.

function makeSliceSubscriber

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

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

function makeEventListener

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

Create/open an event-service listener.

function makeEventNotifier

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

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,
    const IpcServiceTopology & topology =IpcServiceTopology()
)

Create/open a typed request-response server.

function makeTypedClient

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

Create/open a typed request-response client.

function makeSliceServer

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

Create/open a sliced request-response server.

function makeSliceClient

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

Create/open a sliced request-response client.

function drainListenerEvents

inline void drainListenerEvents(
    IoxListener & listener
)

Drain all pending events from a listener.


Updated on 2026-04-03 at 01:47:38 +0000