Skip to content

Adding asyncio async backend.exchange methods / behavior #211

@lpascal-ledger

Description

@lpascal-ledger

Current backend.exchange* methods are all, in a programmatic sense, synchronous.

This could be bothersome when dealing with APDU exchanges, which could arbitrarily need user interactions (navigation in a Ragger/Speculos sense). Currently the way to deal with that is to manage navigation into the APDU exchange loop, which leads to clustered, non-generic, dirty code, or craft a higher-level threading mechanism to allow concurrent execution (on 'thread/coroutine/whatever' dealing with the APDU exchanges, another managing the navigation).

Adding async exchange methods returning futures could ease this process in a cleaner manner.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions