pub trait DvHandler: Send + 'static {
// Required methods
fn write(&mut self, path: &str, pos: i64) -> StreamExecutorResult<()>;
fn flush<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = StreamExecutorResult<Option<SinkMetadata>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Trait abstracting DV (Deletion Vector) file operations for testability.
Implementations are responsible for reading existing DVs, merging new delete positions, writing DV files, and returning the metadata that should be committed on the current barrier.