VLink  2.0.0
A high-performance communication middleware
fdbus_conf.h File Reference

Transport configuration for the fdbus:// FDBus IPC transport. 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 fdbus:// FDBus IPC transport.

FdbusConf binds the fdbus:// URL scheme to FDBus, a D-Bus-inspired IPC framework optimised for same-machine, multi-process communication in embedded Linux systems. FDBus exposes both a service-oriented (broker-mediated) mode and a peer-to-peer IPC mode; the chosen mode is selected through the URL fragment. The transport is in-host only – it does not cross machine boundaries.

Supported Node Types
Publisher Subscriber Server Client Getter Setter
yes yes yes yes yes yes
URL Format
fdbus://<address>[?event=<name>][#<transport>]
Component Description
address FDBus service/topic address (URL host concatenated with path)
event Optional secondary event name selector (?event=)
transport URL fragment; "svc" (service registry, default) or "ipc" (direct)
Service / Endpoint Model
Role FDBus entity VLink mapping
Publisher CBaseServer event Outgoing broadcast on address[/event]
Subscriber CBaseClient event Listens on address[/event]
Server CBaseServer method Handles invokes routed to address
Client CBaseClient invoker Calls address request method
Setter CBaseServer property Publishes latest value to subscribers
Getter CBaseClient watcher Fetches and caches the latest value
Example
auto pub_svc = vlink::Publisher<MyMsg>::create_unique("fdbus://my_service");
auto pub_ipc = vlink::Publisher<MyMsg>::create_unique("fdbus://my_service#ipc");
vlink::FdbusConf conf("my_service", "my_event", "svc");
Note
Compiled only when VLINK_SUPPORT_FDBUS is defined.
is_valid() returns false when address is empty or transport is neither "svc" nor "ipc".