pub struct BufWriteSized<const N: usize>(pub Arc<dyn AsBufWriteSized<N> + 'static>);
Expand description
A concrete sized writable buffer type that may or may not be mem_locked.
Tuple Fields
0: Arc<dyn AsBufWriteSized<N> + 'static>
Implementations
impl<const N: usize> BufWriteSized<N>
impl<const N: usize> BufWriteSized<N>
pub fn new_no_lock() -> BufWriteSized<N>
pub fn new_no_lock() -> BufWriteSized<N>
Consruct a new BufWrite that is NOT mem_locked.
pub fn new_mem_locked() -> Result<BufWriteSized<N>, OneErr>
pub fn new_mem_locked() -> Result<BufWriteSized<N>, OneErr>
Construct a new BufWrite that IS mem_locked. Use this for passwords / private keys, etc, but NOT everything, locked memory is a finite resource.
pub fn deep_clone_no_lock<O>(o: O) -> BufWriteSized<N> where
O: 'static + Into<BufReadSized<N>> + Send,
pub fn deep_clone_no_lock<O>(o: O) -> BufWriteSized<N> where
O: 'static + Into<BufReadSized<N>> + Send,
Deep clone the data referred to by another buffer object, into a new non-memory-locked BufWrite instance.
pub fn deep_clone_mem_locked<O>(o: O) -> Result<BufWriteSized<N>, OneErr> where
O: 'static + Into<BufReadSized<N>> + Send,
pub fn deep_clone_mem_locked<O>(o: O) -> Result<BufWriteSized<N>, OneErr> where
O: 'static + Into<BufReadSized<N>> + Send,
Deep clone the data referred to by another buffer object, into a new MEMORY LOCKED BufWrite instance.
pub fn read_lock_sized(&self) -> ReadGuardSized<'_, N>
pub fn read_lock_sized(&self) -> ReadGuardSized<'_, N>
Obtain read access to the underlying buffer.
pub fn to_read_unsized(&self) -> BufRead
pub fn to_read_unsized(&self) -> BufRead
Convert to an unsized BufRead instance without cloning internal data and without changing memory locking strategy.
pub fn write_lock(&self) -> WriteGuard<'_>
pub fn write_lock(&self) -> WriteGuard<'_>
Obtain write access to the underlying buffer.
pub fn to_read(&self) -> BufRead
pub fn to_read(&self) -> BufRead
Downgrade this to a read-only reference without cloning internal data and without changing memory locking strategy.
pub fn write_lock_sized(&self) -> WriteGuardSized<'_, N>
pub fn write_lock_sized(&self) -> WriteGuardSized<'_, N>
Obtain write access to the underlying buffer.
pub fn to_read_sized(&self) -> BufReadSized<N>
pub fn to_read_sized(&self) -> BufReadSized<N>
Downgrade this to a read-only reference without cloning internal data and without changing memory locking strategy.
pub fn to_write_unsized(&self) -> BufWrite
pub fn to_write_unsized(&self) -> BufWrite
Convert to an unsized BufWrite instance without cloning internal data and without changing memory locking strategy.
pub fn try_unwrap(self) -> Result<Box<[u8], Global>, BufRead>
pub fn try_unwrap(self) -> Result<Box<[u8], Global>, BufRead>
Attempt to extract the inner contents of this buf without cloning. If this memory is locked or there are clones of this reference, the unwrap will fail, returning a BufRead instance.
pub fn try_unwrap_sized(self) -> Result<[u8; N], BufReadSized<N>>
pub fn try_unwrap_sized(self) -> Result<[u8; N], BufReadSized<N>>
Attempt to extract the inner contents of this buf without cloning. If this memory is locked or there are clones of this reference, the unwrap will fail, returning a BufRead instance.
Trait Implementations
impl<const N: usize> Clone for BufWriteSized<N>
impl<const N: usize> Clone for BufWriteSized<N>
fn clone(&self) -> BufWriteSized<N>
fn clone(&self) -> BufWriteSized<N>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<const N: usize> Debug for BufWriteSized<N>
impl<const N: usize> Debug for BufWriteSized<N>
impl<const N: usize> From<[u8; N]> for BufWriteSized<N>
impl<const N: usize> From<[u8; N]> for BufWriteSized<N>
fn from(b: [u8; N]) -> BufWriteSized<N>
fn from(b: [u8; N]) -> BufWriteSized<N>
Converts to this type from the input type.
impl<const N: usize> From<BufWriteSized<N>> for BufExtend
impl<const N: usize> From<BufWriteSized<N>> for BufExtend
fn from(b: BufWriteSized<N>) -> BufExtend
fn from(b: BufWriteSized<N>) -> BufExtend
Converts to this type from the input type.
impl<const S: usize> From<BufWriteSized<S>> for BufReadSized<S>
impl<const S: usize> From<BufWriteSized<S>> for BufReadSized<S>
fn from(b: BufWriteSized<S>) -> BufReadSized<S>
fn from(b: BufWriteSized<S>) -> BufReadSized<S>
Converts to this type from the input type.
impl<const S: usize> From<BufWriteSized<S>> for BufRead
impl<const S: usize> From<BufWriteSized<S>> for BufRead
fn from(b: BufWriteSized<S>) -> BufRead
fn from(b: BufWriteSized<S>) -> BufRead
Converts to this type from the input type.
impl<const S: usize> From<BufWriteSized<S>> for BufWrite
impl<const S: usize> From<BufWriteSized<S>> for BufWrite
fn from(b: BufWriteSized<S>) -> BufWrite
fn from(b: BufWriteSized<S>) -> BufWrite
Converts to this type from the input type.
Auto Trait Implementations
impl<const N: usize> !RefUnwindSafe for BufWriteSized<N>
impl<const N: usize> Send for BufWriteSized<N>
impl<const N: usize> Sync for BufWriteSized<N>
impl<const N: usize> Unpin for BufWriteSized<N>
impl<const N: usize> !UnwindSafe for BufWriteSized<N>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more