Skip to main content

Line

Struct Line 

Source
pub struct Line { /* private fields */ }
Available on crate feature line_token only.
Expand description

A Line from which a Token can be acquired.

§Thread safety

Line is thread-safe and can be shared across threads via Arc:

use std::sync::Arc;
use operation_queue::line_token::Line;

fn assert_send_sync<T: Send + Sync>() {}
assert_send_sync::<Line>();

Implementations§

Source§

impl Line

Source

pub fn new() -> Line

Instantiates a new Line.

Source

pub async fn status(&self) -> LineStatus

Retrieve the current status of the Line, i.e. whether it’s currently free or not.

Unlike try_acquire_token, this method does not attempt to lock the line if it’s free, and does not generate a Token. If the line is busy, it returns a future the consumer can use to wait till the line becomes free again.

Source

pub async fn try_acquire_token<'l>(&'l self) -> AcquireOutcome<'l>

Attempts to acquire a Token for this line.

The Token automatically releases the line upon leaving the current scope and getting dropped.

If a Token has already been acquired for this line, a future to await is returned instead. It resolves when the current token holder has finished handling the current error and releases the line.

Trait Implementations§

Source§

impl Default for Line

Source§

fn default() -> Line

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl !Freeze for Line

§

impl !RefUnwindSafe for Line

§

impl !UnwindSafe for Line

§

impl Send for Line

§

impl Sync for Line

§

impl Unpin for Line

§

impl UnsafeUnpin for Line

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.