Skip to repository content25 lines · 748 B · rust
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T04:25:56.655Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
websocket.rs
1use std::pin::Pin;
2
3use anyhow::Result;
4use cloud_api_types::websocket_protocol::MessageToClient;
5use futures::Stream;
6use futures::channel::mpsc::UnboundedSender;
7use yawc::frame::{Frame, OpCode};
8
9#[cfg(not(target_family = "wasm"))]
10mod native;
11#[cfg(target_family = "wasm")]
12mod web;
13
14pub type MessageStream = Pin<Box<dyn Stream<Item = Result<MessageToClient>>>>;
15
16fn forward_frame(frame: Frame, message_tx: &UnboundedSender<Result<MessageToClient>>) -> bool {
17 match frame.opcode() {
18 OpCode::Binary => message_tx
19 .unbounded_send(MessageToClient::deserialize(frame.payload()))
20 .is_ok(),
21 OpCode::Close => false,
22 OpCode::Continuation | OpCode::Text | OpCode::Ping | OpCode::Pong => true,
23 }
24}
25