Nabto Edge uses Futures to manage return values and completion of asynchronous API-functions; a future resolves once such function has completed. For more details about this topic, see the Futures Guide.

Futures are introduced to unify the way return values and completion of asynchronous functions are handled and to minimize the number of specialized functions required in the APIs: Instead of having an asynchronous and synchronous version of all functions, the API instead provides a single version returning a future: For asynchronous behavior, a callback can then be configured on the future - for synchronous behavior, the future provides a wait function.

In addition to futures, asynchronous functions that are expected to be invoked recurringly introduces the concept of listeners, also elaborated in the Futures Guide.