Common Service IPC Messages

Many services provide the same common IPC functionality.

See also the IPC framework Subscriptions.

Resources

The following messages are common for system resources (e.g. Cellular Data).

Request and Release

The request messages (<resource>_request_req/rsp) are used to request access to a resource. If at least one user requests a resource, it will be activated (e.g. start GNSS receiver). This implies that an application that has subscribed to messages from a resource may receive its published messages even if the application itself has not requested the resource yet.

A resource may need several seconds (sometimes up to a minute) to perform its startup actions once requested. This is typically the case for the Location and Cellular services.

The release message (<resource>_release_req_norsp) is used to tell the resource that given user is not interested in it anymore. If a resource has no users, it will be deactivated.

Warning

A resource request is persistent over IPC sessions. That means that a resource will not be automatically released when a user application exits.

+------+                          +---------+
| user |                          | service |
+---+--+                          +----+----+
    |        foo_request_req           |
    |--------------------------------->|
    |        foo_request_rsp           |
    |<---------------------------------|
    .                                  .
    .                                  .
    |        foo_release_req_norsp     |
    |--------------------------------->|

Status

The status message provides general information about the service.

+------+                          +---------+
| user |                          | service |
+---+--+                          +----+----+
    |        foo_status_req            |
    |--------------------------------->|
    |        foo_status_rsp            |
    |<---------------------------------|