mc-network-data-types 0.1.4

Minecraft network I/O data types
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::io::Cursor;
use std::io::Read;
use std::io::Result;
use std::io::Write;

pub trait Encoder {
    fn encode_to_write<W: Write>(&self, writer: &mut W) -> Result<()>;

    fn encode(&self) -> Result<Cursor<Vec<u8>>> {
        let mut bytes = Cursor::new(Vec::new());
        self.encode_to_write(&mut bytes)?;
        Ok(bytes)
    }
}

pub trait Decoder: Sized {
    fn decode_from_read<R: Read>(reader: &mut R) -> Result<Self>;
}