Browse Source

Add PrivilegedUsersResponse.

wip
Titouan Rigoudy 9 years ago
parent
commit
adc4e40566
2 changed files with 39 additions and 6 deletions
  1. +25
    -0
      src/proto/server.rs
  2. +14
    -6
      src/server.rs

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

@ -8,6 +8,7 @@ use super::Packet;
const CODE_LOGIN: u32 = 1;
const CODE_ROOM_LIST: u32 = 64;
const CODE_PRIVILEGED_USERS: u32 = 69;
const CODE_PARENT_MIN_SPEED: u32 = 83;
const CODE_PARENT_SPEED_RATIO: u32 = 84;
const CODE_WISHLIST_INTERVAL: u32 = 104;
@ -47,6 +48,7 @@ impl ServerRequest {
#[derive(Debug)]
pub enum ServerResponse {
LoginResponse(LoginResponse),
PrivilegedUsersResponse(PrivilegedUsersResponse),
RoomListResponse(RoomListResponse),
WishlistIntervalResponse(WishlistIntervalResponse),
@ -66,6 +68,11 @@ impl ServerResponse {
try!(LoginResponse::from_packet(&mut packet))
),
CODE_PRIVILEGED_USERS =>
ServerResponse::PrivilegedUsersResponse(
try!(PrivilegedUsersResponse::from_packet(&mut packet))
),
CODE_ROOM_LIST =>
ServerResponse::RoomListResponse(
try!(RoomListResponse::from_packet(&mut packet))
@ -332,3 +339,21 @@ impl WishlistIntervalResponse {
})
}
}
/*==================*
* PRIVILEGED USERS *
*==================*/
#[derive(Debug)]
pub struct PrivilegedUsersResponse {
pub users: Vec<String>,
}
impl PrivilegedUsersResponse {
fn from_packet(packet: &mut Packet) -> io::Result<Self> {
let users = try!(packet.read_array_with(Packet::read_str));
Ok(PrivilegedUsersResponse {
users: users,
})
}
}

+ 14
- 6
src/server.rs View File

@ -80,6 +80,9 @@ impl ServerConnection {
ServerResponse::LoginResponse(response) =>
self.handle_login_response(response),
ServerResponse::PrivilegedUsersResponse(response) =>
self.handle_privileged_users_response(response),
ServerResponse::RoomListResponse(response) =>
self.handle_room_list_response(response),
@ -134,12 +137,17 @@ impl ServerConnection {
}
}
fn handle_room_list_response(&mut self,
room_list_response: RoomListResponse) {
info!("Received room list");
for (ref room_name, num_members) in room_list_response.rooms {
info!("Room \"{}\" has {} members", room_name, num_members);
}
fn handle_room_list_response(
&mut self, response: RoomListResponse)
{
info!("Received room list: {} rooms total", response.rooms.len());
}
fn handle_privileged_users_response(
&mut self, response: PrivilegedUsersResponse)
{
info!("Received privileged users list: {} privileged users total",
response.users.len());
}
}


Loading…
Cancel
Save