#[non_exhaustive]pub enum CodecError {
Io(Error),
Protocol(ProtocolError),
PacketTooLarge {
size: usize,
max: usize,
},
IncompletePacket {
needed: usize,
},
InvalidHeader,
ConnectionClosed,
Encoding(String),
Decoding(String),
}Expand description
Errors that can occur during packet encoding/decoding.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Io(Error)
IO error during read/write operations.
Protocol(ProtocolError)
Protocol-level error from tds-protocol.
PacketTooLarge
Packet too large.
IncompletePacket
Incomplete packet data.
InvalidHeader
Invalid packet header.
ConnectionClosed
Connection closed unexpectedly.
Encoding(String)
Encoding error.
Decoding(String)
Decoding error.
Implementations§
Source§impl CodecError
impl CodecError
Sourcepub fn is_transient(&self) -> bool
pub fn is_transient(&self) -> bool
Check if this error is transient and may succeed on retry.
IO errors and connection closures are typically transient. Protocol, encoding, and header errors are terminal.
Sourcepub fn is_terminal(&self) -> bool
pub fn is_terminal(&self) -> bool
Check if this error is terminal and will never succeed on retry.
Trait Implementations§
Source§impl Debug for CodecError
impl Debug for CodecError
Source§impl Display for CodecError
impl Display for CodecError
Source§impl Error for CodecError
impl Error for CodecError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<Error> for CodecError
impl From<Error> for CodecError
Source§impl From<ProtocolError> for CodecError
impl From<ProtocolError> for CodecError
Source§fn from(source: ProtocolError) -> Self
fn from(source: ProtocolError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for CodecError
impl !RefUnwindSafe for CodecError
impl Send for CodecError
impl Sync for CodecError
impl Unpin for CodecError
impl UnsafeUnpin for CodecError
impl !UnwindSafe for CodecError
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
Mutably borrows from an owned value. Read more