pub struct Pool(/* private fields */);
Expand description
Wrapper struct for an ngx_pool_t
pointer, providing methods for working with memory pools.
See https://nginx.org/en/docs/dev/development_guide.html#pool
Implementations§
Source§impl Pool
impl Pool
Sourcepub unsafe fn from_ngx_pool(pool: *mut ngx_pool_t) -> Pool
pub unsafe fn from_ngx_pool(pool: *mut ngx_pool_t) -> Pool
Creates a new Pool
from an ngx_pool_t
pointer.
§Safety
The caller must ensure that a valid ngx_pool_t
pointer is provided, pointing to valid memory and non-null.
A null argument will cause an assertion failure and panic.
Sourcepub fn create_buffer(&mut self, size: usize) -> Option<TemporaryBuffer>
pub fn create_buffer(&mut self, size: usize) -> Option<TemporaryBuffer>
Creates a buffer of the specified size in the memory pool.
Returns Some(TemporaryBuffer)
if the buffer is successfully created, or None
if allocation fails.
Sourcepub fn create_buffer_from_str(&mut self, str: &str) -> Option<TemporaryBuffer>
pub fn create_buffer_from_str(&mut self, str: &str) -> Option<TemporaryBuffer>
Creates a buffer from a string in the memory pool.
Returns Some(TemporaryBuffer)
if the buffer is successfully created, or None
if allocation fails.
Sourcepub fn create_buffer_from_static_str(
&mut self,
str: &'static str,
) -> Option<MemoryBuffer>
pub fn create_buffer_from_static_str( &mut self, str: &'static str, ) -> Option<MemoryBuffer>
Creates a buffer from a static string in the memory pool.
Returns Some(MemoryBuffer)
if the buffer is successfully created, or None
if allocation fails.
Sourcepub fn alloc(&mut self, size: usize) -> *mut c_void
pub fn alloc(&mut self, size: usize) -> *mut c_void
Allocates memory from the pool of the specified size. The resulting pointer is aligned to a platform word size.
Returns a raw pointer to the allocated memory.
Sourcepub fn alloc_type<T: Copy>(&mut self) -> *mut T
pub fn alloc_type<T: Copy>(&mut self) -> *mut T
Allocates memory for a type from the pool. The resulting pointer is aligned to a platform word size.
Returns a typed pointer to the allocated memory.
Sourcepub fn calloc(&mut self, size: usize) -> *mut c_void
pub fn calloc(&mut self, size: usize) -> *mut c_void
Allocates zeroed memory from the pool of the specified size. The resulting pointer is aligned to a platform word size.
Returns a raw pointer to the allocated memory.
Sourcepub fn calloc_type<T: Copy>(&mut self) -> *mut T
pub fn calloc_type<T: Copy>(&mut self) -> *mut T
Allocates zeroed memory for a type from the pool. The resulting pointer is aligned to a platform word size.
Returns a typed pointer to the allocated memory.
Sourcepub fn alloc_unaligned(&mut self, size: usize) -> *mut c_void
pub fn alloc_unaligned(&mut self, size: usize) -> *mut c_void
Allocates unaligned memory from the pool of the specified size.
Returns a raw pointer to the allocated memory.
Sourcepub fn alloc_type_unaligned<T: Copy>(&mut self) -> *mut T
pub fn alloc_type_unaligned<T: Copy>(&mut self) -> *mut T
Allocates unaligned memory for a type from the pool.
Returns a typed pointer to the allocated memory.