Used by Transport implementations dealing with emulated OpenTitan
chips, allowing e.g. more efficient direct means of programming
emulated flash storage. (As opposed to running an actual
bootloater on the emulated target, which would receive data via
SPI to be flashed.)
Contains all the errors that any method on the Transport trait could generate. This
struct is serializable, such that it can be transmitted across a network for instance as
part of the session proxy functionality.
As long as this object is kept alive, the Transport driver may assume that no other
opentitantool processes attempt to access the same debugger device. This allows for
optimizations such as keeping USB handles open across function invocations.