pub struct BufferedBatchWriter<T> { /* private fields */ }Expand description
Generic asynchronous batch writer with threshold, delayed, and overflow flushing.
Implementations§
Source§impl<T> BufferedBatchWriter<T>where
T: Send + 'static,
impl<T> BufferedBatchWriter<T>where
T: Send + 'static,
Sourcepub fn new<BatchFn, BatchFuture, OneFn, OneFuture>(
config: BufferedBatchConfig,
write_batch: BatchFn,
write_one: OneFn,
) -> Self
pub fn new<BatchFn, BatchFuture, OneFn, OneFuture>( config: BufferedBatchConfig, write_batch: BatchFn, write_one: OneFn, ) -> Self
Creates a writer from product-owned persistence callbacks.
Sourcepub async fn record(self: &Arc<Self>, item: T)
pub async fn record(self: &Arc<Self>, item: T)
Records one item, scheduling a threshold or delayed flush as needed.
Sourcepub async fn flush(self: &Arc<Self>)
pub async fn flush(self: &Arc<Self>)
Flushes the current buffer and schedules any remaining buffered items.
Sourcepub fn cancel(&self)
pub fn cancel(&self)
Cancels delayed flush tasks. Call BufferedBatchWriter::flush afterwards during shutdown.
Auto Trait Implementations§
impl<T> !Freeze for BufferedBatchWriter<T>
impl<T> !RefUnwindSafe for BufferedBatchWriter<T>
impl<T> Send for BufferedBatchWriter<T>where
T: Send,
impl<T> Sync for BufferedBatchWriter<T>where
T: Send,
impl<T> Unpin for BufferedBatchWriter<T>where
T: Unpin,
impl<T> UnsafeUnpin for BufferedBatchWriter<T>
impl<T> !UnwindSafe for BufferedBatchWriter<T>
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