mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Allow two or more people to load into the same multiplayer match #30
This commit is contained in:
1 parent
cd45c22d0b
commit
37cbc8d85f
24 files changed
+902
-149
No files matched your search
@@ -22,15 +22,21 @@ pub trait RlnlEventCodeHandler: Sync + Send {
|
||||
}
|
||||
|
||||
#[async_trait::async_trait]
|
||||
impl <In: byteserde::des_slice::ByteDeserializeSlice<In>, H: RlnlEventCodeHandler<In=In>> crate::EventCodeHandler for SimpleRlnl<In, H> {
|
||||
impl <In: byteserde::des_slice::ByteDeserializeSlice<In> + Send, H: RlnlEventCodeHandler<In=In>> crate::EventCodeHandler for SimpleRlnl<In, H> {
|
||||
async fn handle(&self, data: &bytes::Bytes, peer: &std::sync::Arc<literustlib_server::Connection<crate::PacketData>>, user: &crate::UserData, sender: &std::sync::Arc<literustlib_server::DataSender<crate::PacketData>>) {
|
||||
let mut des = byteserde::des_slice::ByteDeserializerSlice::new(&data);
|
||||
let rlnl_data = In::byte_deserialize(&mut des).expect("Bad deserialization");
|
||||
self.handler.handle(rlnl_data, peer, user, sender).await;
|
||||
match In::byte_deserialize(&mut des) {
|
||||
Ok(rlnl_data) => {
|
||||
self.handler.handle(rlnl_data, peer, user, sender).await;
|
||||
},
|
||||
Err(e) => {
|
||||
log::error!("Bad deserialization: {}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl <In: byteserde::des_slice::ByteDeserializeSlice<In>, H: RlnlEventCodeHandler<In=In>> crate::EventCode for SimpleRlnl<In, H> {
|
||||
impl <In: byteserde::des_slice::ByteDeserializeSlice<In> + Send, H: RlnlEventCodeHandler<In=In>> crate::EventCode for SimpleRlnl<In, H> {
|
||||
const CODE: i16 = H::CODE as i16;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user