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}