TransportError is not currently ideal for transport-specific errors. It has generic overly generic variants, and does not include details of the specific underlying cause.
Includes:
- Replaces
TransportError with an associated error type to Channel. For example, CableError.
- Associated types should support
CtapError and PlatformError, eg. implementing From<CtapError> and From<PlatformError>.
- Replace generic variants (eg.
ConnectionLost) in favour of more specific root causes, eg. CableError::HandshakeFailed(snow::Error).
CableUxUpdate::Error to use CableError, instead of TransportError.
TransportErroris not currently ideal for transport-specific errors. It has generic overly generic variants, and does not include details of the specific underlying cause.Includes:
TransportErrorwith an associated error type toChannel. For example,CableError.CtapErrorandPlatformError, eg. implementingFrom<CtapError>andFrom<PlatformError>.ConnectionLost) in favour of more specific root causes, eg.CableError::HandshakeFailed(snow::Error).CableUxUpdate::Errorto useCableError, instead ofTransportError.