Memory

Trait Memory 

Source
pub trait Memory: Debug {
    // Required method
    fn reserve(&self, min_bytes: usize) -> BytesBuf;
}
Expand description

Provides memory capacity for byte sequences.

Call reserve() to reserve memory capacity and obtain a BytesBuf that can be used to fill the reserved memory with data.

§Choosing a memory provider

If you are writing bytes to or reading bytes from an object that either itself implements Memory or exposes an implementation via HasMemory, you should use Memory::reserve() from this provider to obtain memory to store bytes in.

Otherwise, use GlobalPool, which is a reasonable default when there is no specific reason use a different memory provider.

§Resource management

The reserved memory is released when the last BytesBuf or BytesView referencing it is dropped.

Required Methods§

Source

fn reserve(&self, min_bytes: usize) -> BytesBuf

Reserves at least min_bytes bytes of memory capacity.

Returns an empty BytesBuf that can be used to fill the reserved memory with data.

The memory provider may provide more memory than requested.

The memory reservation request will always be fulfilled, obtaining more memory from the operating system if necessary.

§Zero-sized reservations

Reserving zero bytes of memory is a valid operation and will return a BytesBuf with zero or more bytes of capacity.

§Panics

May panic if the operating system runs out of memory.

Implementors§