mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Fix LRL interface for reference-counted connection objects
This commit is contained in:
@@ -17,7 +17,7 @@ impl literustlib_server::EventHandler for LnlEventHandler {
|
||||
type PacketData = super::PacketData;
|
||||
type UserData = super::UserData;
|
||||
|
||||
async fn on_receive(&self, data: Self::PacketData, _header: &literustlib::packet::Header, peer: &mut literustlib_server::Connection<Self::PacketData>, user: &Self::UserData, sender: &literustlib_server::DataSender<Self::PacketData>) {
|
||||
async fn on_receive(&self, data: Self::PacketData, _header: &literustlib::packet::Header, peer: &std::sync::Arc< literustlib_server::Connection<Self::PacketData>>, user: &Self::UserData, sender: &literustlib_server::DataSender<Self::PacketData>) {
|
||||
log::debug!("Got event {:?} (len: {}) from connection id {}", data.variant, data.data.len(), peer.id());
|
||||
if let Some(handler) = self.event_handlers.get(&(data.variant as u16)) {
|
||||
handler.handle(&data.data, peer, user, sender).await;
|
||||
@@ -33,7 +33,7 @@ impl literustlib_server::EventHandler for LnlEventHandler {
|
||||
}
|
||||
}
|
||||
|
||||
async fn on_connect_start(&self, addr: &core::net::SocketAddr, key: String, peer: &mut literustlib_server::Connection<Self::PacketData>) -> Option<Self::UserData> {
|
||||
async fn on_connect_start(&self, addr: &core::net::SocketAddr, key: String, peer: &std::sync::Arc< literustlib_server::Connection<Self::PacketData>>) -> Option<Self::UserData> {
|
||||
log::debug!("New connection started from {}!!! (key:{}, id:{})", addr, key, peer.id());
|
||||
//let mut buf = Vec::new();
|
||||
//literustlib::packet::Packet::with_data(literustlib::packet::Property::Reliable, &[9, 0, 0, 0, 0, 0]).dump(&mut buf).unwrap_or_default();
|
||||
@@ -41,7 +41,7 @@ impl literustlib_server::EventHandler for LnlEventHandler {
|
||||
Some(())
|
||||
}
|
||||
|
||||
async fn on_connect_done(&self, peer: &mut literustlib_server::Connection<Self::PacketData>, _user: &Self::UserData, sender: &literustlib_server::DataSender<Self::PacketData>) {
|
||||
async fn on_connect_done(&self, peer: &std::sync::Arc< literustlib_server::Connection<Self::PacketData>>, _user: &Self::UserData, sender: &literustlib_server::DataSender<Self::PacketData>) {
|
||||
log::debug!("New connection completed (id:{})", peer.id());
|
||||
//let mut buf = Vec::new();
|
||||
//literustlib::packet::Packet::with_data(literustlib::packet::Property::Reliable, &[9, 0, 0, 0, 0, 0]).dump(&mut buf).unwrap_or_default();
|
||||
|
||||
@@ -26,7 +26,8 @@ async fn main() -> std::io::Result<()> {
|
||||
parsers,
|
||||
};
|
||||
|
||||
let mtu = oj_rc_core::ConfigProvider::<()>::network_config(&init_ctx.config).max_packet_size;
|
||||
let event_handler = handler::LnlEventHandler::new(&init_ctx).await;
|
||||
let server = literustlib_server::Server::new(event_handler, (args.ip, args.port), 4223).await.expect("Bad server");
|
||||
let server = literustlib_server::Server::new(event_handler, (args.ip, args.port), mtu).await.expect("Bad server");
|
||||
server.listen().await
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@ pub type PacketData = crate::handler::EventData;
|
||||
|
||||
#[async_trait::async_trait]
|
||||
pub trait EventCodeHandler: Send + Sync {
|
||||
async fn handle(&self, data: &bytes::Bytes, peer: &mut literustlib_server::Connection<PacketData>, user: &UserData, sender: &literustlib_server::DataSender<PacketData>);
|
||||
async fn handle(&self, data: &bytes::Bytes, peer: &std::sync::Arc<literustlib_server::Connection<PacketData>>, user: &UserData, sender: &literustlib_server::DataSender<PacketData>);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user