- match Packet::read(&mut stream) {
- Ok(Command(packet)) => println!("CommandPacket"),
- Ok(Error(packet)) => println!("AnswerPacket"),
- Err(io_error) => println!("IO Error")
+ loop {
+ // stream.set_timeout(Some(1000000000));
+ match Packet::read(&mut stream) {
+ Ok(packet) => {
+ if packet.timestamp <= current_timestamp {
+ println!("Error, timestamp mismatch, current timestamp: {}, packet received: {}", current_timestamp, packet);
+ } else {
+ current_timestamp += 1;
+ println!("Receive packet: {}", packet);
+ }
+ },
+ // Socket has been closed.
+ Err(IOReadError(IoError { kind: EndOfFile, .. })) => {
+ return;
+ },
+ Err(e) => {
+ println!("Read error: {}", e)
+ }
+ }