[−][src]Struct sodoken::Buffer
Concrete newtype to abstract away dealing with the dynamic buffer type.
Implementations
impl Buffer
[src]
pub fn new(size: usize) -> Buffer
[src]
Create a new buffer instance using unlocked memory.
No protection will be added, you should consider buffer_new_memlocked
for storing private keys and data.
pub fn new_memlocked(size: usize) -> SodokenResult<Buffer>
[src]
Create a new buffer instance using locked memory. This is a finite resource, so don't go too crazy. But it is worth doing for things like private keys so they don't get swapped to disk in plaintext.
pub fn deep_clone(&self) -> SodokenResult<Buffer>
[src]
Deep clone the actual bytes of this buffer. The type (memlocked or not) will be retained. Not to be confused with "clone" on the Buffer struct, which just bumps a refcount.
pub fn read_lock(&self) -> ReadGuard<'_>
[src]
Obtain read access to the underlying buffer.
pub fn write_lock(&self) -> WriteGuard<'_>
[src]
Obtain write access to the underlying buffer.
Trait Implementations
impl AsBuffer for Buffer
[src]
pub fn deep_clone(&self) -> SodokenResult<Buffer>
[src]
pub fn read_lock(&self) -> ReadGuard<'_>
[src]
pub fn write_lock(&self) -> WriteGuard<'_>
[src]
impl Clone for Buffer
[src]
impl Debug for Buffer
[src]
impl From<Box<[u8], Global>> for Buffer
[src]
impl From<Vec<u8, Global>> for Buffer
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Buffer
[src]
impl Send for Buffer
[src]
impl Sync for Buffer
[src]
impl Unpin for Buffer
[src]
impl !UnwindSafe for Buffer
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,