Module transport

Module transport 

Source
Expand description

Low-level transport implementations for communication with ledger devices and nano apps

Transports are gated by transport_X features, while GenericTransport and GenericDevice provide an abstraction over enabled transports.

§Safety

UsbTransport (and thus GenericTransport when transport_usb feature is enabled) is not Send or Sync, however this is marked as such to appease async_trait

Once async_trait has stabilised transports can be marked correctly. (This is also implemented under the unstable_async_trait feature) Until then, use LedgerProvider for a Sync + Send interface or be super sure you’re not going to call transports from a multi-threaded context.

Structs§

BleDevice
BLE connected ledger device
BleInfo
BLE specific device information
BleTransport
Transport for listing and connecting to BLE connected Ledger devices
GenericTransport
GenericTransport for device communication, abstracts underlying transport types
TcpDevice
TCP based device
TcpInfo
TCP device information
TcpTransport
TCP transport implementation for interacting with Speculos via the TCP APDU socket
UsbDevice
USB HID based device
UsbInfo
Basic USB device information
UsbTransport
USB HID based transport

Enums§

GenericDevice
GenericDevice for communication with ledger devices, abstracts underlying transport types

Traits§

Transport
Transport trait provides an abstract interface for transport implementations