[][src]Struct libudev::Context

pub struct Context { /* fields omitted */ }

A libudev context. Contexts may not be sent or shared between threads. The libudev(3) manpage says:

All functions require a libudev context to operate. This context can be create via udev_new(3). It is used to track library state and link objects together. No global state is used by libudev, everything is always linked to a udev context. Furthermore, multiple different udev contexts can be used in parallel by multiple threads. However, a single context must not be accessed by multiple threads in parallel.

In Rust, that means that Context is !Send and !Sync. This means a Context must be created in the thread where it will be used. Several contexts can exist in separate threads, but they can not be sent between threads.

Other types in this library (Device, Enumerator, Monitor, etc.) share a reference to a context, which means that these types must also be !Send and !Sync.

Implementations

impl Context[src]

pub fn new() -> Result<Self>[src]

Creates a new context.

Trait Implementations

impl Clone for Context[src]

fn clone(&self) -> Self[src]

Increments reference count of libudev context.

impl Drop for Context[src]

fn drop(&mut self)[src]

Decrements reference count of libudev context.

Auto Trait Implementations

impl RefUnwindSafe for Context

impl !Send for Context

impl !Sync for Context

impl Unpin for Context

impl UnwindSafe for Context

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.