From 5375508038eee07126f099c946325c747d1ef86e Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Thu, 28 Dec 2017 13:08:36 -0500 Subject: [PATCH] Implement Proto{De,En}code for ParentMinSpeedResponse. --- src/proto/server/response.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/proto/server/response.rs b/src/proto/server/response.rs index 32b71db..6fc760b 100644 --- a/src/proto/server/response.rs +++ b/src/proto/server/response.rs @@ -114,6 +114,10 @@ impl ProtoEncode for ServerResponse { encoder.encode_u32(CODE_LOGIN)?; response.encode(encoder)?; }, + ServerResponse::ParentMinSpeedResponse(ref response) => { + encoder.encode_u32(CODE_PARENT_MIN_SPEED)?; + response.encode(encoder)?; + }, _ => { unimplemented!(); }, @@ -138,6 +142,10 @@ impl ProtoDecode for ServerResponse { let response = LoginResponse::decode(decoder)?; ServerResponse::LoginResponse(response) }, + CODE_PARENT_MIN_SPEED => { + let response = ParentMinSpeedResponse::decode(decoder)?; + ServerResponse::ParentMinSpeedResponse(response) + }, _ => { return Err(DecodeError::UnknownCodeError(code)); }, @@ -356,6 +364,21 @@ impl ReadFromPacket for ParentMinSpeedResponse { } } +impl ProtoEncode for ParentMinSpeedResponse { + fn encode(&self, encoder: &mut ProtoEncoder) -> Result<(), io::Error> { + encoder.encode_u32(self.value) + } +} + +impl ProtoDecode for ParentMinSpeedResponse { + fn decode(decoder: &mut ProtoDecoder) -> Result { + let value = decoder.decode_u32()?; + Ok(Self { + value: value + }) + } +} + /*====================* * PARENT SPEED RATIO * *====================*/ @@ -827,4 +850,11 @@ mod tests { reason: "I just don't like you".to_string(), })) } + + #[test] + fn roundtrip_parent_min_speed() { + roundtrip(ServerResponse::ParentMinSpeedResponse(ParentMinSpeedResponse { + value: 1337, + })) + } }