pub trait MessagesStorage {
// Required methods
fn fetch_range(&mut self, range: RangeInclusive<SeqNum>) -> Vec<Vec<u8>>;
fn store(&mut self, seq_num: SeqNum, data: &[u8]);
fn next_sender_msg_seq_num(&self) -> SeqNum;
fn next_target_msg_seq_num(&self) -> SeqNum;
fn set_next_sender_msg_seq_num(&mut self, seq_num: SeqNum);
fn set_next_target_msg_seq_num(&mut self, seq_num: SeqNum);
fn incr_next_sender_msg_seq_num(&mut self);
fn incr_next_target_msg_seq_num(&mut self);
fn reset(&mut self);
}