3eb1a465bbaba28bc6fd89b3314d394ce6404fb7
1 use std
::io
::{ TcpListener
, TcpStream
, Acceptor
, Listener
, IoError
, IoResult
};
2 use std
::io
::net
::tcp
::{ TcpAcceptor
};
3 use command
::{ Command
, Packet
, Error
};
12 pub fn new(port
: u16) -> IoResult
<Server
> {
13 let mut acceptor
= try!(TcpListener
::bind("127.0.0.1", port
).listen());
15 acceptor
: acceptor
.clone(),
21 for stream
in acceptor
.incoming() {
24 Ok(stream
) => spawn(proc() {
25 Server
::handle_client(stream
);
35 pub fn close(&mut self) -> IoResult
<()> {
36 self.acceptor
.close_accept()
39 fn handle_client(mut stream
: TcpStream
) {
40 println!("new connection!");
41 let mut current_timestamp
= 0u64;
42 match Packet
::read(&mut stream
) {
43 Ok(Command(packet
)) => println!("CommandPacket"),
44 Ok(Error(packet
)) => println!("AnswerPacket"),
45 Err(io_error
) => println!("IO Error")