From 083459755ed08cf651357140fde70448269c72da Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Thu, 14 Apr 2016 17:43:10 +0200 Subject: [PATCH] Use new try_from_packet! macro in ServerResponse::from_packet. --- src/proto/server/response.rs | 68 +++++++++++++----------------------- 1 file changed, 24 insertions(+), 44 deletions(-) diff --git a/src/proto/server/response.rs b/src/proto/server/response.rs index 2f01df8..6ce415e 100644 --- a/src/proto/server/response.rs +++ b/src/proto/server/response.rs @@ -40,79 +40,59 @@ pub enum ServerResponse { UnknownResponse(u32), } +macro_rules! try_from_packet { + ($struct_name:ident, $packet:ident) => { + ServerResponse::$struct_name( + try!($struct_name::from_packet($packet)) + ) + } +} + impl FromPacket for ServerResponse { fn from_packet(packet: &mut Packet) -> result::Result { let code = try!(packet.read_uint()); let resp = match code { CODE_CONNECT_TO_PEER => - ServerResponse::ConnectToPeerResponse( - try!(ConnectToPeerResponse::from_packet(packet)) - ), + try_from_packet!(ConnectToPeerResponse, packet), CODE_LOGIN => - ServerResponse::LoginResponse( - try!(LoginResponse::from_packet(packet)) - ), + try_from_packet!(LoginResponse, packet), CODE_PEER_ADDRESS => - ServerResponse::PeerAddressResponse( - try!(PeerAddressResponse::from_packet(packet)) - ), + try_from_packet!(PeerAddressResponse, packet), CODE_PRIVILEGED_USERS => - ServerResponse::PrivilegedUsersResponse( - try!(PrivilegedUsersResponse::from_packet(packet)) - ), + try_from_packet!(PrivilegedUsersResponse, packet), CODE_ROOM_JOIN => - ServerResponse::RoomJoinResponse( - try!(RoomJoinResponse::from_packet(packet)) - ), + try_from_packet!(RoomJoinResponse, packet), CODE_ROOM_LEAVE => - ServerResponse::RoomLeaveResponse( - try!(RoomLeaveResponse::from_packet(packet)) - ), + try_from_packet!(RoomLeaveResponse, packet), CODE_ROOM_LIST => - ServerResponse::RoomListResponse( - try!(RoomListResponse::from_packet(packet)) - ), + try_from_packet!(RoomListResponse, packet), CODE_ROOM_MESSAGE => - ServerResponse::RoomMessageResponse( - try!(RoomMessageResponse::from_packet(packet)) - ), - - CODE_ROOM_USER_LEFT => - ServerResponse::RoomUserLeftResponse( - try!(RoomUserLeftResponse::from_packet(packet)) - ), + try_from_packet!(RoomMessageResponse, packet), CODE_ROOM_USER_JOINED => - ServerResponse::RoomUserJoinedResponse( - try!(RoomUserJoinedResponse::from_packet(packet)) - ), + try_from_packet!(RoomUserJoinedResponse, packet), + + CODE_ROOM_USER_LEFT => + try_from_packet!(RoomUserLeftResponse, packet), CODE_USER_STATUS => - ServerResponse::UserStatusResponse( - try!(UserStatusResponse::from_packet(packet)) - ), + try_from_packet!(UserStatusResponse, packet), CODE_WISHLIST_INTERVAL => - ServerResponse::WishlistIntervalResponse( - try!(WishlistIntervalResponse::from_packet(packet)) - ), + try_from_packet!(WishlistIntervalResponse, packet), CODE_PARENT_MIN_SPEED => - ServerResponse::ParentMinSpeedResponse( - try!(ParentMinSpeedResponse::from_packet(packet)) - ), + try_from_packet!(ParentMinSpeedResponse, packet), CODE_PARENT_SPEED_RATIO => - ServerResponse::ParentSpeedRatioResponse( - try!(ParentSpeedRatioResponse::from_packet(packet)) - ), + try_from_packet!(ParentSpeedRatioResponse, packet), code => ServerResponse::UnknownResponse(code), };