pub enum TargetDriverError {
Show 18 variants
Fidl(Error),
DriverStatus(i32),
EmptyRead,
Eof,
Handshake(HandshakeError),
NoCommonProtocol,
Io(Error),
NonUtf8Path,
NoSerialPorts,
WriteRetriesExhausted,
ResetRequested,
SessionIdChanged,
AckChannelClosed,
Frame(FrameError),
RetransmissionLimit(RetransmissionLimitExceeded),
UnexpectedSeq(UnexpectedSeqError),
ChannelSend(String),
RcsConnect(String),
}Expand description
Errors produced during target-side UART driver operation.
Variants§
Fidl(Error)
FIDL channel or proxy communication failure.
DriverStatus(i32)
Non-OK status code returned by the serial hardware driver.
EmptyRead
Empty byte vector returned during handshake read.
Eof
End-of-file reached when reading frames from the serial device.
Handshake(HandshakeError)
Protocol negotiation frame decoding or validation failure.
NoCommonProtocol
Host and target share no supported framing protocol version.
Io(Error)
Filesystem or I/O failure while discovering serial devices.
NonUtf8Path
Serial device directory entry path is not valid UTF-8.
NoSerialPorts
No usable serial ports found under /dev/class/serial.
WriteRetriesExhausted
Serial write failed after exhausting all retry attempts.
ResetRequested
Host sent a control reset or control channel close frame.
SessionIdChanged
Host initiated a new handshake with a different session ID.
AckChannelClosed
Internal ACK notification channel closed unexpectedly.
Frame(FrameError)
Frame encoding or validation failure.
RetransmissionLimit(RetransmissionLimitExceeded)
Go-Back-N retransmission attempts exceeded the protocol limit.
UnexpectedSeq(UnexpectedSeqError)
Received an unexpected sequence number while advancing the receiver window.
ChannelSend(String)
Internal mpsc channel send failure between bridge tasks.
RcsConnect(String)
Failed to connect to the target RCS Connector FIDL protocol.
Trait Implementations§
Source§impl Debug for TargetDriverError
impl Debug for TargetDriverError
Source§impl Display for TargetDriverError
impl Display for TargetDriverError
Source§impl Error for TargetDriverError
impl Error for TargetDriverError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for TargetDriverError
impl From<Error> for TargetDriverError
Source§impl From<Error> for TargetDriverError
impl From<Error> for TargetDriverError
Source§impl From<FrameError> for TargetDriverError
impl From<FrameError> for TargetDriverError
Source§fn from(source: FrameError) -> Self
fn from(source: FrameError) -> Self
Source§impl From<HandshakeError> for TargetDriverError
impl From<HandshakeError> for TargetDriverError
Source§fn from(source: HandshakeError) -> Self
fn from(source: HandshakeError) -> Self
Source§impl From<RetransmissionLimitExceeded> for TargetDriverError
impl From<RetransmissionLimitExceeded> for TargetDriverError
Source§fn from(source: RetransmissionLimitExceeded) -> Self
fn from(source: RetransmissionLimitExceeded) -> Self
Source§impl From<UnexpectedSeqError> for TargetDriverError
impl From<UnexpectedSeqError> for TargetDriverError
Source§fn from(source: UnexpectedSeqError) -> Self
fn from(source: UnexpectedSeqError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for TargetDriverError
impl !UnwindSafe for TargetDriverError
impl Freeze for TargetDriverError
impl Send for TargetDriverError
impl Sync for TargetDriverError
impl Unpin for TargetDriverError
impl UnsafeUnpin for TargetDriverError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T to [Self]§impl<T> IntoAny for T
impl<T> IntoAny for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more