hyper_util::common::sync

Struct SyncWrapper

source
pub(crate) struct SyncWrapper<T>(T);

Tuple Fields§

§0: T

Implementations§

source§

impl<T> SyncWrapper<T>

source

pub(crate) fn new(value: T) -> Self

Creates a new SyncWrapper containing the given value.

§Examples
use hyper::common::sync_wrapper::SyncWrapper;

let wrapped = SyncWrapper::new(42);
source

pub(crate) fn get_mut(&mut self) -> &mut T

Acquires a reference to the protected value.

This is safe because it requires an exclusive reference to the wrapper. Therefore this method neither panics nor does it return an error. This is in contrast to Mutex::get_mut which returns an error if another thread panicked while holding the lock. It is not recommended to send an exclusive reference to a potentially damaged value to another thread for further processing.

§Examples
use hyper::common::sync_wrapper::SyncWrapper;

let mut wrapped = SyncWrapper::new(42);
let value = wrapped.get_mut();
*value = 0;
assert_eq!(*wrapped.get_mut(), 0);
source

pub(crate) fn into_inner(self) -> T

Consumes this wrapper, returning the underlying data.

This is safe because it requires ownership of the wrapper, aherefore this method will neither panic nor does it return an error. This is in contrast to Mutex::into_inner which returns an error if another thread panicked while holding the lock. It is not recommended to send an exclusive reference to a potentially damaged value to another thread for further processing.

§Examples
use hyper::common::sync_wrapper::SyncWrapper;

let mut wrapped = SyncWrapper::new(42);
assert_eq!(wrapped.into_inner(), 42);

Trait Implementations§

source§

impl<T: Send> Sync for SyncWrapper<T>

Auto Trait Implementations§

§

impl<T> Freeze for SyncWrapper<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for SyncWrapper<T>
where T: RefUnwindSafe,

§

impl<T> Send for SyncWrapper<T>
where T: Send,

§

impl<T> Unpin for SyncWrapper<T>
where T: Unpin,

§

impl<T> UnwindSafe for SyncWrapper<T>
where T: UnwindSafe,

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more