From c12f2d44f06b1682dd8eadc541a973fa78429488 Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Sun, 21 Feb 2016 18:56:08 +0100 Subject: [PATCH] Add SetListenPortRequest. --- src/proto/server.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/proto/server.rs b/src/proto/server.rs index 17af646..d070de8 100644 --- a/src/proto/server.rs +++ b/src/proto/server.rs @@ -9,6 +9,7 @@ use super::Packet; const MAX_PORT: u32 = 1 << 16; const CODE_LOGIN: u32 = 1; +const CODE_SET_LISTEN_PORT: u32 = 2; const CODE_CONNECT_TO_PEER: u32 = 18; const CODE_ROOM_LIST: u32 = 64; const CODE_PRIVILEGED_USERS: u32 = 69; @@ -28,6 +29,7 @@ trait WriteToPacket { pub enum ServerRequest { LoginRequest(LoginRequest), RoomListRequest(RoomListRequest), + SetListenPortRequest(SetListenPortRequest), } impl ServerRequest { @@ -38,6 +40,9 @@ impl ServerRequest { ServerRequest::RoomListRequest(ref request) => (Packet::new(CODE_ROOM_LIST), request), + + ServerRequest::SetListenPortRequest(ref request) => + (Packet::new(CODE_SET_LISTEN_PORT), request), }; try!(request.write_to_packet(&mut packet)); Ok(packet) @@ -382,6 +387,30 @@ impl RoomListResponse { } } +/*=================* + * SET LISTEN PORT * + *=================*/ + +#[derive(Debug)] +pub struct SetListenPortRequest { + port: u16, +} + +impl SetListenPortRequest { + fn new(port: u16) -> Self { + SetListenPortRequest { + port: port, + } + } +} + +impl WriteToPacket for SetListenPortRequest { + fn write_to_packet(&self, packet: &mut Packet) -> io::Result<()> { + try!(packet.write_uint(self.port as u32)); + Ok(()) + } +} + /*===================* * WISHLIST INTERVAL * *===================*/