gameServer2/src/protocol/mod.rs
author unc0rr
Fri, 06 Jan 2017 01:00:21 +0300
changeset 12131 a4d22f197bd2
parent 12130 6273f89ab13d
child 12132 1525923cd7e3
permissions -rw-r--r--
Still trying to make parser work

use netbuf;
use std::io::Read;
use std::io::Result;

mod messages;
mod hwprotocol;
mod lexer;

pub struct FrameDecoder {
    buf: netbuf::Buf,
}

impl FrameDecoder {
    pub fn new() -> FrameDecoder {
        FrameDecoder {
            buf: netbuf::Buf::new()
        }
    }

    pub fn read_from<R: Read>(&mut self, stream: &mut R) -> Result<usize> {
        self.buf.read_from(stream)
    }

    pub fn extract_messages(&mut self) -> &[u8] {
        &self.buf[..]
    }
}

#[test]
fn testparser() {
    assert_eq!(messages::HWProtocolMessage::Nick("hey".to_string()),
               hwprotocol::parse_ProtocolMessage("NICK\nhey\n\n").unwrap());
}