[WIP] Client connections

This commit is contained in:
Alex Emmet 2026-02-15 12:15:37 +01:00
commit 84bdcab0d1
4 changed files with 7 additions and 7 deletions

View file

@ -60,7 +60,7 @@ async fn main() {
let mut path: String = "/".to_string();
let callback = |req: &Request, response: Response| {
path = req.uri().path().to_string(); // Extract URI path
path = req.uri().path().to_string();
Ok(response)
};
let ws_stream = match accept_hdr_async(stream.compat(), callback).await {
@ -71,7 +71,7 @@ async fn main() {
}
};
let (sender, receiver) = ws_stream.split();
if path == "/ws/client/" {
if path.starts_with("/ws/client") {
log_in!(0, PrintType::Client, "New Client connection");
let client_conn: Arc<ClientConnection> =
Arc::from(ClientConnection::new(sender, receiver));
@ -117,7 +117,7 @@ async fn main() {
}
}
}
} else if path == "/ws/anonymous_client/" {
} else if path.starts_with("/ws/anonymous_client") {
log_in!(0, PrintType::Client, "New Anonymous Client connection");
let client_conn: Arc<AnonymousClientConnection> =
Arc::from(AnonymousClientConnection::new(sender, receiver));
@ -176,7 +176,7 @@ async fn main() {
}
}
}
} else if path == "/ws/iota/" {
} else if path.starts_with("/ws/iota") {
log_in!(0, PrintType::Iota, "New Iota connection");
let iota_conn: Arc<IotaConnection> =
Arc::from(IotaConnection::new(sender, receiver));

View file

@ -349,7 +349,7 @@ impl OmegaConnection {
match msg {
Some(Ok(Message::Text(msg))) => {
let cv = CommunicationValue::from_json(&msg);
if cv.is_type(CommunicationType::pong) {
if cv.is_type(CommunicationType::pong) || cv.is_type(CommunicationType::ping) {
self.handle_pong(&cv, true).await;
continue;
}

View file

@ -109,7 +109,7 @@ impl ClientConnection {
);
return;
}
if !cv.is_type(CommunicationType::pong) {
if !cv.is_type(CommunicationType::pong) && !cv.is_type(CommunicationType::ping) {
log_out!(
self.get_user_id().await,
PrintType::Client,

View file

@ -149,7 +149,7 @@ impl IotaConnection {
pub async fn handle_message(self: Arc<Self>, message: Utf8Bytes) {
let cv = CommunicationValue::from_json(&message);
// Handle ping
if cv.is_type(CommunicationType::ping) {
if cv.is_type(CommunicationType::ping) || cv.is_type(CommunicationType::pong) {
self.handle_ping(cv).await;
return;
}