kcl/
processor.rs

1use crate::checkpointer::Checkpointer;
2use crate::messages::Record;
3use crate::reader::InputReader;
4use crate::writer::OutputWriter;
5
6pub trait Processor<W: OutputWriter, R: InputReader> {
7    fn initialize(&mut self, shard_id: &str);
8    fn process_records(&mut self, data: &[Record], checkpoint: &mut Checkpointer<W, R>);
9    fn lease_lost(&mut self);
10    fn shard_ended(&mut self, checkpoint: &mut Checkpointer<W, R>);
11    fn shutdown_requested(&mut self, checkpoint: &mut Checkpointer<W, R>);
12}