sui_analytics_indexer/writers/
mod.rsuse crate::{FileFormat, ParquetSchema};
use anyhow::Result;
use serde::Serialize;
use sui_types::base_types::EpochId;
pub mod csv_writer;
pub mod parquet_writer;
pub trait AnalyticsWriter<S: Serialize + ParquetSchema>: Send + Sync + 'static {
fn file_format(&self) -> Result<FileFormat>;
fn write(&mut self, rows: &[S]) -> Result<()>;
fn flush(&mut self, end_checkpoint_seq_num: u64) -> Result<bool>;
fn reset(&mut self, epoch_num: EpochId, start_checkpoint_seq_num: u64) -> Result<()>;
fn file_size(&self) -> Result<Option<u64>>;
}