X-Git-Url: http://git.euphorik.ch/?p=crypto_lab1.git;a=blobdiff_plain;f=src%2Fend_point.rs;h=2d0a66c9e09815cc76a7fffb2efa176ef43dbab8;hp=b44afc9c5f5ed869f8c5118145ff7508d181cf69;hb=c9318a07ce0ec00f999ff17943b83048d536ecd1;hpb=911f8410c05d3d16922587a59266096f3c6899e1 diff --git a/src/end_point.rs b/src/end_point.rs index b44afc9..2d0a66c 100644 --- a/src/end_point.rs +++ b/src/end_point.rs @@ -15,7 +15,7 @@ pub struct Client { end_point: EndPoint, } -struct EndPoint { +pub struct EndPoint { socket: TcpStream, current_timestamp: u64 } @@ -32,10 +32,10 @@ impl Server { loop { for stream in acceptor.incoming() { match stream { - Err(_) => return, Ok(stream) => spawn(proc() { - Server::handle_client(EndPoint { socket: stream, current_timestamp: 0 }); - }) + Server::handle_client(EndPoint::new(stream)); + }), + _ => return } } } @@ -246,6 +246,10 @@ impl Client { } impl EndPoint { + pub fn new(socket: TcpStream) -> EndPoint { + EndPoint { socket: socket, current_timestamp: 0 } + } + fn close(&mut self) -> IoResult<()> { try!(self.socket.close_read()); try!(self.socket.close_write());