1ce5f955a80539cd115d5bf69e5caf6e04b0de35
1 use std
::io
::{ TcpListener
, TcpStream
, Acceptor
, Listener
, IoError
, IoResult
};
2 use std
::io
::net
::tcp
::{ TcpAcceptor
};
3 use command
::{ Command
, Packet
, Error
};
10 pub fn new(port
: u16) -> IoResult
<Server
> {
11 let mut acceptor
= try!(TcpListener
::bind("127.0.0.1", port
).listen());
14 acceptor
: acceptor
.clone()
19 for stream
in acceptor
.incoming() {
22 Ok(stream
) => spawn(proc() {
23 Server
::handle_client(stream
);
33 pub fn close(&mut self) -> IoResult
<()> {
34 self.acceptor
.close_accept()
37 fn handle_client(mut stream
: TcpStream
) {
39 let mut current_timestamp
= 0u64;
41 match Packet
::read(&mut stream
) {
42 Ok(Command(packet
)) => println!("CommandPacket"),
43 Ok(Error(packet
)) => println!("AnswerPacket"),
44 Err(io_error
) => println!("IO Error")