pub struct PaxStreamWriter { /* private fields */ }Expand description
Streaming PAX writer: accumulates records, flushes full pages, seals with tail-index.
Implementations§
Source§impl PaxStreamWriter
impl PaxStreamWriter
pub fn new(keys: Vec<String>, sigils: Vec<u8>, page_size: u32) -> Result<Self>
Sourcepub fn from_rows(
keys: &[String],
rows: &[RecordRow],
page_size: u32,
) -> Result<Self>
pub fn from_rows( keys: &[String], rows: &[RecordRow], page_size: u32, ) -> Result<Self>
Build a writer from keys and rows (infers sigils like sealed finish_pax).
pub fn keys(&self) -> &[String]
pub fn page_size(&self) -> u32
pub fn flushed_page_count(&self) -> usize
pub fn pending_count(&self) -> usize
pub fn data_sector_len(&self) -> usize
pub fn pages(&self) -> &[PaxPageMeta]
Sourcepub fn push_record(&mut self, row: RecordRow) -> Result<Option<Vec<u8>>>
pub fn push_record(&mut self, row: RecordRow) -> Result<Option<Vec<u8>>>
Append a record; flushes a complete page when pending.len() == page_size.
Sourcepub fn flush_pending(&mut self) -> Result<Option<Vec<u8>>>
pub fn flush_pending(&mut self) -> Result<Option<Vec<u8>>>
Emit the current pending slice as one page (partial page allowed).
Sourcepub fn write_stream_header(&self, out: &mut impl Write) -> Result<u64>
pub fn write_stream_header(&self, out: &mut impl Write) -> Result<u64>
Write unsealed preamble + schema (TailPtr = 0). Returns absolute data-sector start.
Sourcepub fn write_data_sector_since(
&self,
out: &mut impl Write,
start: usize,
) -> Result<(), Error>
pub fn write_data_sector_since( &self, out: &mut impl Write, start: usize, ) -> Result<(), Error>
Append flushed data-sector bytes since start.
Sourcepub fn finish_stream(self) -> Result<Vec<u8>>
pub fn finish_stream(self) -> Result<Vec<u8>>
Build a sealed in-memory .nxb (final partial page + tail-index + footer).
Sourcepub fn seal_stream(self, out: &mut impl Write) -> Result<u64>
pub fn seal_stream(self, out: &mut impl Write) -> Result<u64>
Seal an on-disk stream: flush pending, append tail-index, patch preamble tail offset.
Auto Trait Implementations§
impl Freeze for PaxStreamWriter
impl RefUnwindSafe for PaxStreamWriter
impl Send for PaxStreamWriter
impl Sync for PaxStreamWriter
impl Unpin for PaxStreamWriter
impl UnsafeUnpin for PaxStreamWriter
impl UnwindSafe for PaxStreamWriter
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