summaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/network.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/server/src/network.rs b/server/src/network.rs
index ec65218..19498c5 100644
--- a/server/src/network.rs
+++ b/server/src/network.rs
@@ -30,11 +30,13 @@ use std::{
use weareshared::{helper::ReadWrite, packets::Packet, tree::PacketSink};
type Conns = Arc<Mutex<HashMap<u128, (SyncSender<Arc<Vec<u8>>>, Option<SocketAddr>)>>>;
+
pub struct ServerNetwork {
conns: Conns,
udp_sock: Arc<UdpSocket>,
pub recv: Receiver<(u128, Packet)>,
}
+
impl ServerNetwork {
pub fn new(addr: SocketAddr) -> Result<Self> {
let (recv_tx, recv_rx) = channel();
@@ -118,10 +120,13 @@ fn serve_udp(udp_sock: Arc<UdpSocket>, conns: Conns, recv_tx: Sender<(u128, Pack
if let Packet::Connect(id) = &packet {
if let Some((_send, udp_addr)) = conns.lock().unwrap().get_mut(id) {
*udp_addr = Some(addr);
- cstates.insert(addr, CState {
- conn_id: *id,
- last_ack: Instant::now(),
- });
+ cstates.insert(
+ addr,
+ CState {
+ conn_id: *id,
+ last_ack: Instant::now(),
+ },
+ );
}
} else if let Some(conn) = cstates.get(&addr) {
let cid = conn.conn_id;