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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions