From 1848872ccc4a291d5dfb9ba64470cd299af2bc8c Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Sun, 7 Jan 2018 06:47:11 -0500 Subject: [PATCH] Implement Proto{De,En}code for WishlistIntervalResponse. --- src/proto/server/response.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/proto/server/response.rs b/src/proto/server/response.rs index 720e4a6..69d8712 100644 --- a/src/proto/server/response.rs +++ b/src/proto/server/response.rs @@ -165,6 +165,10 @@ impl ProtoEncode for ServerResponse { encoder.encode_u32(CODE_USER_STATUS)?; response.encode(encoder)?; } + ServerResponse::WishlistIntervalResponse(ref response) => { + encoder.encode_u32(CODE_WISHLIST_INTERVAL)?; + response.encode(encoder)?; + } _ => { unimplemented!(); } @@ -241,6 +245,10 @@ impl ProtoDecode for ServerResponse { let response = UserStatusResponse::decode(decoder)?; ServerResponse::UserStatusResponse(response) } + CODE_WISHLIST_INTERVAL => { + let response = WishlistIntervalResponse::decode(decoder)?; + ServerResponse::WishlistIntervalResponse(response) + } _ => { return Err(DecodeError::UnknownCodeError(code)); } @@ -1306,6 +1314,19 @@ impl ReadFromPacket for WishlistIntervalResponse { } } +impl ProtoEncode for WishlistIntervalResponse { + fn encode(&self, encoder: &mut ProtoEncoder) -> io::Result<()> { + encoder.encode_u32(self.seconds) + } +} + +impl ProtoDecode for WishlistIntervalResponse { + fn decode(decoder: &mut ProtoDecoder) -> Result { + let seconds = decoder.decode_u32()?; + Ok(Self { seconds }) + } +} + /*=======* * TESTS * *=======*/ @@ -1525,4 +1546,11 @@ mod tests { is_privileged: true, })) } + + #[test] + fn roundtrip_wishlist_interval() { + roundtrip(ServerResponse::WishlistIntervalResponse( + WishlistIntervalResponse { seconds: 1337 }, + )) + } }