[][src]Enum posix_mq::error::Error

pub enum Error {
    InvalidQueueName(&'static str),
    ValueReadingError(Error),
    MessageSizeExceeded(),
    MaximumMessageSizeExceeded(),
    MaximumMessageCountExceeded(),
    PermissionDenied(),
    InvalidQueueDescriptor(),
    QueueCallInterrupted(),
    QueueAlreadyExists(),
    QueueNotFound(),
    InsufficientMemory(),
    InsufficientSpace(),
    ProcessFileDescriptorLimitReached(),
    SystemFileDescriptorLimitReached(),
    UnknownForeignError(Errno),
    UnknownInternalError(Option<Error>),
}

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://github.com/aprilabank/posix_mq.rs

Variants

InvalidQueueName(&'static str)
ValueReadingError(Error)
MessageSizeExceeded()
MaximumMessageSizeExceeded()
MaximumMessageCountExceeded()
PermissionDenied()
InvalidQueueDescriptor()
QueueCallInterrupted()
QueueAlreadyExists()
QueueNotFound()
InsufficientMemory()
InsufficientSpace()
ProcessFileDescriptorLimitReached()
SystemFileDescriptorLimitReached()
UnknownForeignError(Errno)
UnknownInternalError(Option<Error>)

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

This from implementation is used to translate errors from the lower-level C-calls into sensible Rust errors.

impl From<Error> for Error[src]

impl From<ParseIntError> for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.