#[non_exhaustive]pub enum Error {
Show 13 variants
IncompleteMessage {
buffer_len: usize,
expected: usize,
},
IncompleteHeader,
Fragmented,
InvalidMessageType(u32),
InvalidReplyType(u32),
InvalidReplyStatus(u32),
InvalidAuthData,
InvalidAuthError(u32),
InvalidRejectedReplyType(u32),
InvalidLength,
InvalidRpcVersion(u32),
InvalidMachineName(Utf8Error),
IOError(ErrorKind, String),
}
Expand description
Error types returned by this crate.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
IncompleteMessage
The message header indicates the RPC message is longer than the amount of data in the buffer, or the buffer contains more than one message.
This error may also be returned if the RPC message parsed from the
buffer is unexpectedly shorter than the header length indicates - in
this case, buffer_len
will be more than expected
and may indicate a
parsing error.
Fields
IncompleteHeader
The buffer is too small to contain the RPC header.
Fragmented
The RPC message is fragmented and needs to be reassembled.
This library doesn’t currently support fragmented messages and this error will be returned when parsing any message with the “last fragment” bit unset in the header.
InvalidMessageType(u32)
The message type in the RPC request is neither MessageType::Call
or MessageType::Reply
.
This is a violation of the spec.
InvalidReplyType(u32)
The message type in the RPC request is neither ReplyBody::Accepted
or ReplyBody::Denied
.
This is a violation of the spec.
InvalidReplyStatus(u32)
The reply status code is not one of the specified status codes.
This is a violation of the spec.
InvalidAuthData
The auth or verifier is invalid or malformed.
InvalidAuthError(u32)
The auth error code is not one of the specified error codes.
This is a violation of the spec.
InvalidRejectedReplyType(u32)
The rejected reply status code is not one of the specified status codes.
This is a violation of the spec.
InvalidLength
A variable length type has a malformed length value which would exceed the length of the buffer.
InvalidRpcVersion(u32)
The message contains a rpc protocol identifier that is not 2.
InvalidMachineName(Utf8Error)
The machine name contains non-UTF8 characters.
IOError(ErrorKind, String)
An I/O error occurred when trying to parse the buffer.