3.10.1 Asynchronous functions

All Iris functions are asynchronous, unless stated otherwise in the function description.

Functions can be called either as a request or as a notification:

  • Functions that are called as a request, receiving a response, might or might not have an effect by the time irisHandleMessage(request) returns. The function is guaranteed to have completed from the caller's viewpoint by the time the caller's irisHandleMessage(response) was entered. irisHandleMessage(response) can be called at any point after irisHandleMessage(request) was entered. irisHandleMessage(response) can be called before or after irisHandleMessage(request) returned.
  • Functions that are called as a notification do not receive a response. They can take effect any time after irisHandleMessage(notification) was entered and before or after irisHandleMessage(notification) returns.

In general, irisHandleMessage() might be called from any host thread. An instance that set marshalRequests=true when registering itself is only called on the thread from which it issued the instanceRegistry_registerInstance() call.

Non-ConfidentialPDF file icon PDF version101196_0100_03_en
Copyright © 2018, 2019 Arm Limited or its affiliates. All rights reserved.