pub enum Error {
Show 16 variants
InvalidQueueName(&'static str),
ValueReadingError(Error),
MessageSizeExceeded(),
MaximumMessageSizeExceeded(),
MaximumMessageCountExceeded(),
PermissionDenied(),
InvalidQueueDescriptor(),
QueueCallInterrupted(),
QueueAlreadyExists(),
QueueNotFound(),
InsufficientMemory(),
InsufficientSpace(),
ProcessFileDescriptorLimitReached(),
SystemFileDescriptorLimitReached(),
UnknownForeignError(Errno),
UnknownInternalError(),
}
Expand description
This module implements a simple error type to match the errors that can be thrown from the C functions as well as some extra errors resulting from internal validations.
As this crate exposes an opinionated API to the POSIX queues certain errors have been ignored:
- ETIMEDOUT: The low-level timed functions are not exported and this error can not occur.
- EAGAIN: Non-blocking queue calls are not supported.
- EINVAL: Same reason as ETIMEDOUT
- EMSGSIZE: The message size is immutable after queue creation and this crate checks it.
- ENAMETOOLONG: This crate performs name validation
If an unexpected error is encountered it will be wrapped appropriately and should be reported as a bug on https://b.tvl.fyi
Variants
InvalidQueueName(&'static str)
ValueReadingError(Error)
MessageSizeExceeded()
MaximumMessageSizeExceeded()
MaximumMessageCountExceeded()
PermissionDenied()
InvalidQueueDescriptor()
QueueCallInterrupted()
QueueAlreadyExists()
QueueNotFound()
InsufficientMemory()
InsufficientSpace()
ProcessFileDescriptorLimitReached()
SystemFileDescriptorLimitReached()
UnknownForeignError(Errno)
UnknownInternalError()
Trait Implementations
This from implementation is used to translate errors from the lower-level C-calls into sensible Rust errors.
Performs the conversion.