djin_protocol/wire/stream/transport/
mod.rs

1pub use self::simple::Simple;
2
3pub mod simple;
4
5use crate::{Error, Settings};
6use std::io::prelude::*;
7
8pub trait Transport
9{
10    fn process_data(&mut self,
11                    read: &mut dyn Read,
12                    settings: &Settings)
13        -> Result<(), Error>;
14
15    fn receive_raw_packet(&mut self)
16        -> Result<Option<Vec<u8>>, Error>;
17
18    fn send_raw_packet(&mut self,
19                       write: &mut dyn Write,
20                       packet: &[u8],
21                       settings: &Settings)
22        -> Result<(), Error>;
23}
24