Struct sodium_alloc::SodiumAllocator[][src]

pub struct SodiumAllocator;
Expand description

An Allocator which allocates and frees memory using Sodium’s secure memory utilities.

Allocation of memory using this struct is expensive - it shouldn’t be used as a global allocator, but rather confied to manage memory for data structures storing sensitive information, such as keys, passwords, etc.

When this Allocator frees memory, it is securely zeroed, so there is no need to implement Zeroize or similar constructions for types with memory managed via this struct.

If the canary Sodium places before the allocated memory is altered, or if an attempt to access a guard page surrounding the allocated memory is made, the program will automatically terminate. This behaviour should never occur in safe Rust.

Trait Implementations

🔬 This is a nightly-only experimental API. (allocator_api)

Attempts to allocate a block of memory. Read more

🔬 This is a nightly-only experimental API. (allocator_api)

Deallocates the memory referenced by ptr. Read more

🔬 This is a nightly-only experimental API. (allocator_api)

Behaves like allocate, but also ensures that the returned memory is zero-initialized. Read more

🔬 This is a nightly-only experimental API. (allocator_api)

Attempts to extend the memory block. Read more

🔬 This is a nightly-only experimental API. (allocator_api)

Behaves like grow, but also ensures that the new contents are set to zero before being returned. Read more

🔬 This is a nightly-only experimental API. (allocator_api)

Attempts to shrink the memory block. Read more

🔬 This is a nightly-only experimental API. (allocator_api)

Creates a “by reference” adapter for this instance of Allocator. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.