diff --git a/src/proto/server/response.rs b/src/proto/server/response.rs index e010ae7..ceb9dc7 100644 --- a/src/proto/server/response.rs +++ b/src/proto/server/response.rs @@ -1,8 +1,9 @@ +use std::io; use std::net; -use super::constants::*; -use super::super::packet::{Packet, PacketReadError, ReadFromPacket}; - +use proto::server::constants::*; +use proto::{DecodeError, ProtoDecode, ProtoDecoder, ProtoEncode, ProtoEncoder}; +use proto::packet::{Packet, PacketReadError, ReadFromPacket}; use user; /*=================* @@ -98,6 +99,28 @@ impl ReadFromPacket for ServerResponse { } } +impl ProtoEncode for ServerResponse { + fn encode(&self, encoder: &mut ProtoEncoder) -> Result<(), io::Error> { + match *self { + _ => { + unimplemented!(); + }, + } + } +} + +impl ProtoDecode for ServerResponse { + fn decode(decoder: &mut ProtoDecoder) -> Result { + let code = decoder.decode_u32()?; + let request = match code { + _ => { + return Err(DecodeError::UnknownCodeError(code)); + }, + }; + Ok(request) + } +} + /*=================* * CONNECT TO PEER * *=================*/