[][src]Struct yaque::Receiver

pub struct Receiver { /* fields omitted */ }

The receiver part of the queue. This part is assynchronous and therefore needs an executor that will the poll the futures to completion.

Implementations

impl Receiver[src]

pub fn open<P: AsRef<Path>>(base: P) -> Result<Receiver>[src]

Opens a queue for reading. The access will be exclusive, based on the existence of the temporary file recv.lock inside the queue folder.

Errors

This function will return an IO error if the queue is already in use for receiving, which is indicated by a lock file. Also, any other IO error encountered while opening will be sent.

Panics

This function will panic if it is not able to set up the notification handler to watch for file changes.

pub async fn recv<'_, '_>(&'_ mut self) -> Result<RecvGuard<'_, Vec<u8>>>[src]

Tries to retrieve an element from the queue. The returned value is a guard that will only commit state changes to the queue when dropped.

Panics

This function will panic if it has to start reading a new segment and it is not able to set up the notification handler to watch for file changes.

pub async fn recv_batch<'_, '_>(
    &'_ mut self,
    n: usize
) -> Result<RecvGuard<'_, Vec<Vec<u8>>>>
[src]

Tries to remove a number of elements from the queue. The returned value is a guard that will only commit state changes to the queue when dropped.

Panics

This function will panic if it has to start reading a new segment and it is not able to set up the notification handler to watch for file changes.

pub async fn recv_while<'_, '_, P: FnMut(&[u8]) -> bool>(
    &'_ mut self,
    __arg1: P
) -> Result<RecvGuard<'_, Vec<Vec<u8>>>>
[src]

Tries to a number of elements from the queue. The returned value is a guard that will only commit state changes to the queue when dropped.

Panics

This function will panic if it has to start reading a new segment and it is not able to set up the notification handler to watch for file changes.

Trait Implementations

impl Drop for Receiver[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> Any for T where
    T: Any

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