VLink 2.0.0
A high-performance communication middleware
Loading...
Searching...
No Matches
shm2_conf.h File Reference

Transport configuration for the shm2:// Iceoryx2 shared-memory backend. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Detailed Description

Transport configuration for the shm2:// Iceoryx2 shared-memory backend.

Shm2Conf configures the Iceoryx2-based shared-memory transport, which is the next-generation successor to the shm:// Iceoryx backend. Like ShmConf it provides zero-copy inter-process communication on the same machine, but uses the Iceoryx2 API and does not require a separate RouDi daemon process.

Supported Node Types
shm2:// supports all six node types: kPublisher, kSubscriber, kServer, kClient, kSetter, and kGetter.
URL Format
shm2://<address>[?event=<name>&domain=<N>&depth=<N>&history=<N>&wait=<0|1>][#<size>]
Component Description
address Service/topic name; formed from host + "/" + path
event Optional secondary event name (?event=)
domain Domain ID (?domain=, default 0)
depth History buffer depth (?depth=, default 0)
history History count; defaults to 0 for pub/sub and 1 for field nodes
wait Blocking-wait mode for pub/sub only (?wait=1)
size Shared-memory allocation size from URL fragment (see below)
Size Fragment Syntax
The URL fragment sets the shared-memory region size per message. Supported unit suffixes (case-insensitive): B, K/KB, M/MB, G/GB. The value must be in the range (0, kMaxMemSize].
shm2://my_topic#1M // 1 MiB per message
shm2://my_topic#512K // 512 KiB per message
shm2://my_topic // default: 128 bytes
Note
This header is compiled only when VLINK_SUPPORT_SHM2 is defined.
Address and event strings must not exceed 80 characters each.
The wait mode is only valid for kPublisher / kSubscriber nodes.