diff -r f50876f3eff8 -r 07972a8c2433 gameServer2/src/server/client.rs --- a/gameServer2/src/server/client.rs Mon Jan 02 00:16:22 2017 +0300 +++ b/gameServer2/src/server/client.rs Tue Jan 03 00:19:47 2017 +0300 @@ -6,10 +6,11 @@ use netbuf; use utils; +use protocol::FrameDecoder; pub struct HWClient { sock: TcpStream, - buf_in: netbuf::Buf, + decoder: FrameDecoder, buf_out: netbuf::Buf } @@ -17,7 +18,7 @@ pub fn new(sock: TcpStream) -> HWClient { HWClient { sock: sock, - buf_in: netbuf::Buf::new(), + decoder: FrameDecoder::new(), buf_out: netbuf::Buf::new(), } } @@ -43,8 +44,9 @@ } pub fn readable(&mut self, poll: &Poll) -> io::Result<()> { - self.buf_in.read_from(&mut self.sock)?; - println!("Incoming buffer size: {}", self.buf_in.len()); + let v = self.decoder.read_from(&mut self.sock)?; + self.decoder.extract_messages(); + println!("Read {} bytes", v); Ok(()) }