pub struct PoolRef { /* private fields */ }
Expand description
A reference to a Pool that can be shared across threads via cloning, along with the page size that will be used with it. Provides the API for interacting with the buffer pool in a thread-safe manner.
Implementations§
Source§impl PoolRef
impl PoolRef
Sourcepub fn new(page_size: NonZeroUsize, capacity: NonZeroUsize) -> Self
pub fn new(page_size: NonZeroUsize, capacity: NonZeroUsize) -> Self
Returns a new PoolRef with the given page_size
and capacity
.
Sourcepub async fn next_id(&self) -> u64
pub async fn next_id(&self) -> u64
Returns a unique id for the next blob that will use this buffer pool.
Sourcepub fn offset_to_page(&self, offset: u64) -> (u64, usize)
pub fn offset_to_page(&self, offset: u64) -> (u64, usize)
Convert an offset into the number of the page it belongs to and the offset within that page.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PoolRef
impl !RefUnwindSafe for PoolRef
impl Send for PoolRef
impl Sync for PoolRef
impl Unpin for PoolRef
impl !UnwindSafe for PoolRef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more