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 |
|<---------------------------------|