Enum onc_rpc::Error[][src]

#[non_exhaustive]
pub enum Error {
Show 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(ErrorKindString),
}
Expand description

Error types returned by this crate.

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.
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.

Show fields

Fields of IncompleteMessage

buffer_len: usize

The length of the buffer provided.

expected: usize

The length expected for this message type.

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 Call or Reply.

This is a violation of the spec.

InvalidReplyType(u32)

The message type in the RPC request is neither Accepted or 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(ErrorKindString)

An I/O error occured when trying to parse the buffer.

Trait Implementations

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Performs the conversion.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.