|
|
|
@ -14,6 +14,7 @@ use super::super::packet::{MutPacket, WriteToPacket}; |
|
|
|
pub enum ServerRequest {
|
|
|
|
CannotConnectRequest(CannotConnectRequest),
|
|
|
|
ConnectToPeerRequest(ConnectToPeerRequest),
|
|
|
|
FileSearchRequest(FileSearchRequest),
|
|
|
|
LoginRequest(LoginRequest),
|
|
|
|
PeerAddressRequest(PeerAddressRequest),
|
|
|
|
RoomJoinRequest(RoomJoinRequest),
|
|
|
|
@ -37,6 +38,11 @@ impl WriteToPacket for ServerRequest { |
|
|
|
try!(packet.write_value(request));
|
|
|
|
},
|
|
|
|
|
|
|
|
ServerRequest::FileSearchRequest(ref request) => {
|
|
|
|
try!(packet.write_value(&CODE_FILE_SEARCH));
|
|
|
|
try!(packet.write_value(request));
|
|
|
|
},
|
|
|
|
|
|
|
|
ServerRequest::LoginRequest(ref request) => {
|
|
|
|
try!(packet.write_value(&CODE_LOGIN));
|
|
|
|
try!(packet.write_value(request));
|
|
|
|
@ -124,6 +130,24 @@ impl WriteToPacket for ConnectToPeerRequest { |
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*=============*
|
|
|
|
* FILE SEARCH *
|
|
|
|
*=============*/
|
|
|
|
|
|
|
|
#[derive(Debug)]
|
|
|
|
pub struct FileSearchRequest {
|
|
|
|
pub ticket: u32,
|
|
|
|
pub query: String,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl WriteToPacket for FileSearchRequest {
|
|
|
|
fn write_to_packet(&self, packet: &mut MutPacket) -> io::Result<()> {
|
|
|
|
try!(packet.write_value(&self.ticket));
|
|
|
|
try!(packet.write_value(&self.query));
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*=======*
|
|
|
|
* LOGIN *
|
|
|
|
*=======*/
|
|
|
|
|