Versions Compared

Key

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

...

Two applications connected to a same instance of IARM-Bus are able to exchange events or RPC calls. On a typical system, only one instance of IARM-Bus instance is needed. If desired, it is possible to have multiple IARM-Bus instances. However, applications connected to different buses will not be able to communicate with each other.


 

Gliffy Diagram
draw.io Diagram
diagramName
size1200
nameIARM Bus Architecture.drawio
size1200
revision1pagePin7

Bus Daemon

Each Bus Instance is managed by a single Bus Daemon Process. The Bus Daemon oversees the activities on the bus and manage common resources competed by all connected applications. Applications requesting a shared resource must firstly acquire from the Bus Daemon. Once it is done with the resource, it must release the ownership back to Bus Daemon so that other applications can use the resource. The IARM Bus Daemon offers standard APIs to request and release ownership of a resource. In Essence, a Bus Daemon itself is a regular applications connected to the IARM-Bus with special privileges. It is the only entity that has knowledge of all applications connected to the bus, and has the authority of granting or denying resources.

...

The application can then choose which implementation to link to at build time based on its needs. To use the multi-app version of API, the application links to libirMgrCli.so. To use the single-app version of the API, the application links to libirMgr.so. In either choice, the application is no longer coupled to IARM. The following diagrams demonstrate the linkage relationship between applications and the generic API.

Gliffy Diagramdrawio
namediagramNameIARM Publisher and Listeners Concept Flow Diagram.drawio
pagePinrevision71
        
 

Porting layer of IARM-Bus

...

 To know more about SoC/Application level APIs details use in RDK, refer the link  IARM BUS API Documentation