Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

CCSP Message Bus is used by the CCSP components to communicate with each other and send notifications to registered subscribers in a single processor environment. CCSP message bus uses D-Bus/R-Bus for IPC.

...

D-Bus Bindings must be auto generated using a D-Bus binding tool such as dbus-binding-tool from D-Bus-Glib, using the introspection XML file that defines the component’s interface and supported signals. The Adapter bindings should only be thin glue for bridging Component interfaces. In other words, there should not be any component functionality directly implemented in the bindings, other than just calling into the component’s interface.

D-Bus Architecture diagram

draw.io Diagram
bordertrue
diagramNameD-Bus Architecture Diagram
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth977
revision1

...

If there are multiple <listen> elements, then the bus listens on multiple addresses. The bus will pass its address to started services or other interested parties with the last address given in <listen> first. That is, apps will try to connect to the last <listen> address first.

tcp sockets can accept IPv4 addresses, IPv6 addresses or hostnames. If a hostname resolves to multiple addresses, the server will bind to all of them. The family=ipv4 or family=ipv6 options an be used to force it to bind to a subset of addresses
Example: <listen>tcp:host=localhost,port=0,family=ipv4</listen>

R-Bus*

RBus is a 3 layered RPC communication bus.

...

  • Simplified APIs
  • Pub / Sub (event / notification) support
  • Methods support
  • Aligns well with TR 369 (USP)
Show If
groupRDKM_Team, RDKM_Engineers

R-Bus architecture diagram


draw.io Diagram
bordertrue
diagramNameR-Bus Architecture
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth615
revision3



Note: R-Bus implementation is in progress.<R-Bus arc diagram>