IPC API interfaces binding queries


How does Bindings materialize between client-side IPC API interfaces and server-side interfaces ?

Why do we need binding between application and it’s nested components or between two nested components. What can’t nested components talk directly?

Is it must to provide executable name while defining bindings? Can I make an app in which server component is not an executable but it can still provide API interface and client component (which happens to be an executable) can bound to this API Interface?

Is it possible to have reverse binding? e.g. if there is binding from client->server, can there be binding from server->client or do I need to use separate mechanism in order to let server communicate with client in the context of Legato AF?


By default, each app runs in its own sandbox. When an app is constructed, all the IPC services it needs are declared. At runtime, the Supervisor and the Service Directory enforce that only those approved IPC services are accessed by the app. Approval is specified through “bindings”.

Binding is between Client and Server. CLient -Server can be 2 applications or 2 components in application which are 2 different process. This dictates the need for bindings.

Check this link (http://legato.io/legato-docs/latest/defFilesAdef.html#defFilesAdef_bindings) for various syntax and conditions to use them

We don’t recommend circular dependency to avoid deadlocks.

You can check this link for more information http://legato.io/legato-docs/latest/basicIPC.html