diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-16 12:10:12 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-16 12:10:12 +0200 |
commit | 5cad8fad7c8e8b4358c9b0290c228ac9fac164f5 (patch) | |
tree | f70efa6135f2ae2bca1b228b85fdea6af6cd2812 /light-client/src/network.rs | |
parent | 92ebc438268851cd9abb7af7d4938c10bd6cf80a (diff) | |
download | hurrycurry-5cad8fad7c8e8b4358c9b0290c228ac9fac164f5.tar hurrycurry-5cad8fad7c8e8b4358c9b0290c228ac9fac164f5.tar.bz2 hurrycurry-5cad8fad7c8e8b4358c9b0290c228ac9fac164f5.tar.zst |
render players
Diffstat (limited to 'light-client/src/network.rs')
-rw-r--r-- | light-client/src/network.rs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/light-client/src/network.rs b/light-client/src/network.rs index 997a3344..47eb66ab 100644 --- a/light-client/src/network.rs +++ b/light-client/src/network.rs @@ -17,13 +17,14 @@ */ use anyhow::Result; use hurrycurry_protocol::{PacketC, PacketS, BINCODE_CONFIG}; -use log::warn; +use log::{debug, warn}; use std::{collections::VecDeque, net::TcpStream}; use tungstenite::{ client::{uri_mode, IntoClientRequest}, client_tls_with_config, handshake::client::Request, stream::{MaybeTlsStream, Mode}, + util::NonBlockingError, Message, WebSocket, }; @@ -76,7 +77,10 @@ impl Network { pub fn poll(&mut self) { self.queue_in.extend(match self.sock.read() { Ok(Message::Text(packet)) => match serde_json::from_str(&packet) { - Ok(p) => Some(p), + Ok(packet) => { + debug!("<- {packet:?}"); + Some(packet) + } Err(e) => { warn!("invalid json packet: {e:?}"); None @@ -84,7 +88,10 @@ impl Network { }, Ok(Message::Binary(packet)) => { match bincode::decode_from_slice(&packet, BINCODE_CONFIG) { - Ok((p, _)) => Some(p), + Ok((packet, _)) => { + debug!("<- {packet:?}"); + Some(packet) + } Err(e) => { warn!("invalid bincode packet: {e:?}"); None @@ -93,15 +100,20 @@ impl Network { } Ok(_) => None, Err(e) => { - warn!("{e:?}"); + if let Some(e) = e.into_non_blocking() { + warn!("{e:?}"); + } None } }); for packet in self.queue_out.drain(..) { + debug!("-> {packet:?}"); self.sock .write(Message::Text(serde_json::to_string(&packet).unwrap())) .unwrap(); } + + self.sock.flush().unwrap(); } } |