Browse Source

Add ParentMinSpeedResponse.

wip
Titouan Rigoudy 10 years ago
parent
commit
c2c69a3e1a
2 changed files with 48 additions and 5 deletions
  1. +34
    -0
      src/proto/server.rs
  2. +14
    -5
      src/server.rs

+ 34
- 0
src/proto/server.rs View File

@ -8,11 +8,16 @@ use super::Packet;
const CODE_LOGIN: u32 = 1; const CODE_LOGIN: u32 = 1;
const CODE_ROOM_LIST: u32 = 64; const CODE_ROOM_LIST: u32 = 64;
const CODE_PARENT_MIN_SPEED: u32 = 83;
trait WriteToPacket { trait WriteToPacket {
fn write_to_packet(&self, &mut Packet) -> io::Result<()>; fn write_to_packet(&self, &mut Packet) -> io::Result<()>;
} }
/*================*
* SERVER REQUEST *
*================*/
pub enum ServerRequest { pub enum ServerRequest {
LoginRequest(LoginRequest), LoginRequest(LoginRequest),
RoomListRequest(RoomListRequest), RoomListRequest(RoomListRequest),
@ -32,10 +37,17 @@ impl ServerRequest {
} }
} }
/*=================*
* SERVER RESPONSE *
*=================*/
pub enum ServerResponse { pub enum ServerResponse {
LoginResponse(LoginResponse), LoginResponse(LoginResponse),
RoomListResponse(RoomListResponse), RoomListResponse(RoomListResponse),
// Unused/unknown responses
ParentMinSpeedResponse(ParentMinSpeedResponse),
UnknownResponse(u32, Packet), UnknownResponse(u32, Packet),
} }
@ -50,6 +62,10 @@ impl ServerResponse {
try!(RoomListResponse::from_packet(packet)) try!(RoomListResponse::from_packet(packet))
), ),
CODE_PARENT_MIN_SPEED => ServerResponse::ParentMinSpeedResponse(
try!(ParentMinSpeedResponse::from_packet(packet))
),
code => ServerResponse::UnknownResponse(code, packet), code => ServerResponse::UnknownResponse(code, packet),
}; };
Ok(resp) Ok(resp)
@ -212,3 +228,21 @@ impl RoomListResponse {
Ok(rooms) Ok(rooms)
} }
} }
/*==================*
* PARENT MIN SPEED *
*==================*/
pub struct ParentMinSpeedResponse {
pub value: u32,
}
impl ParentMinSpeedResponse {
fn from_packet(mut packet: Packet) -> io::Result<Self> {
let value = try!(packet.read_uint());
Ok(ParentMinSpeedResponse {
value: value,
})
}
}

+ 14
- 5
src/server.rs View File

@ -72,11 +72,14 @@ impl ServerConnection {
fn handle_server_response(&mut self, response: ServerResponse) { fn handle_server_response(&mut self, response: ServerResponse) {
match response { match response {
ServerResponse::LoginResponse(login_response) =>
self.handle_login_response(login_response),
ServerResponse::LoginResponse(response) =>
self.handle_login_response(response),
ServerResponse::RoomListResponse(room_list_response) =>
self.handle_room_list_response(room_list_response),
ServerResponse::RoomListResponse(response) =>
self.handle_room_list_response(response),
ServerResponse::ParentMinSpeedResponse(response) =>
self.handle_parent_min_speed_response(response),
ServerResponse::UnknownResponse(code, _) => ServerResponse::UnknownResponse(code, _) =>
warn!("Unknown packet code {}", code), warn!("Unknown packet code {}", code),
@ -104,7 +107,7 @@ impl ServerConnection {
info!("External IP address: {}", ip); info!("External IP address: {}", ip);
match password_md5_opt { match password_md5_opt {
Some(password_md5) => {
Some(_) => {
info!(concat!( info!(concat!(
"Connected to official server ", "Connected to official server ",
"as official client")); "as official client"));
@ -133,6 +136,12 @@ impl ServerConnection {
info!("Room \"{}\" has {} members", room_name, num_members); info!("Room \"{}\" has {} members", room_name, num_members);
} }
} }
fn handle_parent_min_speed_response(
&mut self, response: ParentMinSpeedResponse) {
debug!("Received ParentMinSpeedResponse with value {}",
response.value);
}
} }
impl Handler for ServerConnection { impl Handler for ServerConnection {


Loading…
Cancel
Save