+pub trait Middleware: Sync + Send {
+ fn client_message(&mut self, input: &[u8]) -> Vec<u8>;
+ fn server_message(&mut self, input: &[u8]) -> Vec<u8>;
+}
+
+pub fn get() -> Arc<Mutex<Vec<Box<dyn Middleware>>>> {
+ Arc::new(Mutex::new(vec![
+ Box::new(FindMailboxesCompatibility::new()),
+ ]))
+}