pub struct Segment { /* private fields */ }Expand description
セグメントファイル
固定長のメモリマップドファイルでイベントを格納。 高速なシーケンシャル書き込みとランダムアクセス読み取りを提供。
Implementations§
Source§impl Segment
impl Segment
Sourcepub fn open<P: AsRef<Path>>(
file_path: P,
read_only: bool,
) -> StorageResult<Self>
pub fn open<P: AsRef<Path>>( file_path: P, read_only: bool, ) -> StorageResult<Self>
既存のセグメントファイルを開く
Sourcepub fn append_event(&mut self, event: &Event) -> StorageResult<Offset>
pub fn append_event(&mut self, event: &Event) -> StorageResult<Offset>
イベントをセグメントに書き込み
Sourcepub fn read_event(&self, offset: Offset) -> StorageResult<Option<Event>>
pub fn read_event(&self, offset: Offset) -> StorageResult<Option<Event>>
指定したオフセットのイベントを読み取り
Sourcepub fn read_events_range(
&self,
start_offset: Offset,
max_events: usize,
) -> StorageResult<Vec<Event>>
pub fn read_events_range( &self, start_offset: Offset, max_events: usize, ) -> StorageResult<Vec<Event>>
指定した範囲のイベントを読み取り
Sourcepub fn flush(&mut self) -> StorageResult<()>
pub fn flush(&mut self) -> StorageResult<()>
セグメントをフラッシュ
Sourcepub fn stats(&self) -> SegmentStats
pub fn stats(&self) -> SegmentStats
セグメントの統計情報を取得
Sourcepub fn append_batch_data(
&mut self,
batch_data: &[u8],
event_sizes: &[usize],
) -> StorageResult<Offset>
pub fn append_batch_data( &mut self, batch_data: &[u8], event_sizes: &[usize], ) -> StorageResult<Offset>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Segment
impl RefUnwindSafe for Segment
impl Send for Segment
impl Sync for Segment
impl Unpin for Segment
impl UnwindSafe for Segment
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