Struct async_signal::Signals

source ·
pub struct Signals { /* private fields */ }
Expand description

Wait for a specific set of signals.

See the module-level documentation for more details.

Implementations§

source§

impl Signals

source

pub fn new<B>(signals: impl IntoIterator<Item = B>) -> Result<Self>
where B: Borrow<Signal>,

Create a new Signals instance with a set of signals.

source

pub fn add_signals<B>( &mut self, signals: impl IntoIterator<Item = B> ) -> Result<()>
where B: Borrow<Signal>,

Add signals to the set of signals to wait for.

One signal cannot be added twice. If a signal that has already been added is passed to this method, it will be ignored.

Registering a signal prevents the default behavior of that signal from occurring. For example, if you register SIGINT, pressing Ctrl+C will no longer terminate the process. To run the default signal handler, use signal_hook::low_level::emulate_default_handler instead.

source

pub fn remove_signals<B>( &mut self, signals: impl IntoIterator<Item = B> ) -> Result<()>
where B: Borrow<Signal>,

Remove signals from the set of signals to wait for.

This function can be used to opt out of listening to signals previously registered via add_signals or new. If a signal that has not been registered is passed to this method, it will be ignored.

Trait Implementations§

source§

impl Debug for Signals

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for Signals

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Stream for &Signals

§

type Item = Result<Signal, Error>

Values yielded by the stream.
source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_> ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
source§

impl Stream for Signals

§

type Item = Result<Signal, Error>

Values yielded by the stream.
source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_> ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
source§

impl Unpin for Signals

Auto Trait Implementations§

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

§

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

§

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

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_> ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more