pub struct LocalFsBackend { /* private fields */ }Expand description
Local filesystem storage backend.
Stores segment files in a namespace-scoped, shard-based directory hierarchy:
{data_dir}/ns_{namespace}/shard_{id}/segment_name.csxAll write operations are atomic (write to .tmp then rename) to prevent
partial segment files from being visible to readers.
Implementations§
Trait Implementations§
Source§impl Clone for LocalFsBackend
impl Clone for LocalFsBackend
Source§fn clone(&self) -> LocalFsBackend
fn clone(&self) -> LocalFsBackend
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LocalFsBackend
impl Debug for LocalFsBackend
Source§impl StorageBackend for LocalFsBackend
impl StorageBackend for LocalFsBackend
Source§async fn put_segment(&self, path: &SegmentPath, data: &[u8]) -> Result<()>
async fn put_segment(&self, path: &SegmentPath, data: &[u8]) -> Result<()>
Write a complete segment file to storage. Read more
Source§async fn get_segment(&self, path: &SegmentPath) -> Result<Vec<u8>>
async fn get_segment(&self, path: &SegmentPath) -> Result<Vec<u8>>
Read a complete segment file from storage.
Source§async fn get_range(
&self,
path: &SegmentPath,
offset: u64,
length: usize,
) -> Result<Vec<u8>>
async fn get_range( &self, path: &SegmentPath, offset: u64, length: usize, ) -> Result<Vec<u8>>
Read a byte range from a segment file. Read more
Source§async fn delete_segment(&self, path: &SegmentPath) -> Result<()>
async fn delete_segment(&self, path: &SegmentPath) -> Result<()>
Delete a segment file from storage.
Source§async fn list_segments(
&self,
namespace: &NamespaceId,
shard_id: &ShardId,
) -> Result<Vec<SegmentPath>>
async fn list_segments( &self, namespace: &NamespaceId, shard_id: &ShardId, ) -> Result<Vec<SegmentPath>>
List all segment files in a namespace/shard.
Auto Trait Implementations§
impl Freeze for LocalFsBackend
impl RefUnwindSafe for LocalFsBackend
impl Send for LocalFsBackend
impl Sync for LocalFsBackend
impl Unpin for LocalFsBackend
impl UnsafeUnpin for LocalFsBackend
impl UnwindSafe for LocalFsBackend
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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