[Fix] client state synchronization, shared data

This commit is contained in:
Alex 2026-09-08 16:42:44 +02:00
commit 516c395706
Signed by: alex
SSH key fingerprint: SHA256:D1+Ub8o0v4K5y1JNivW8IxEOelqLSvPmUzBbDIoZkRQ
9 changed files with 163 additions and 78 deletions

View file

@ -210,15 +210,21 @@ impl ClientConnection {
return;
}
if cv.is_type(CommunicationType::ClientConnected) {
self.send_message(&message_handlers::handle_client_connected(&cv))
.await;
if cv.is_type(CommunicationType::ClientStateGet) {
// Durable client synchronization is routed through Omikron, which
// is the authority that assigns the numeric transport SessionId.
self.send_message(
&CommunicationValue::new(CommunicationType::ErrorInvalidData).with_request_id(&cv),
)
.await;
return;
}
if cv.is_type(CommunicationType::ClientStateAck) {
self.send_message(&message_handlers::handle_client_state_ack(&cv))
.await;
self.send_message(
&CommunicationValue::new(CommunicationType::ErrorInvalidData).with_request_id(&cv),
)
.await;
return;
}