MCPcopy Create free account
hub / github.com/PerroEngine/Perro / poll_event

Method poll_event

perro_source/api_modules/perro_networking/src/websocket.rs:292–306  ·  view source on GitHub ↗
(&mut self, max_bytes: usize)

Source from the content-addressed store, hash-verified

290 }
291
292 pub fn poll_event(&mut self, max_bytes: usize) -> NetResult<Option<NetEvent>> {
293 let Some(message) = self.read_message(max_bytes)? else {
294 return Ok(None);
295 };
296 let peer = self.peer_string();
297 Ok(Some(match message {
298 WebSocketMessage::Text(text) => NetEvent::WebSocketText { peer, text },
299 WebSocketMessage::Binary(bytes) => NetEvent::WebSocketBinary { peer, bytes },
300 WebSocketMessage::Ping(bytes) => NetEvent::WebSocketPing { peer, bytes },
301 WebSocketMessage::Pong(bytes) => NetEvent::WebSocketPong { peer, bytes },
302 WebSocketMessage::Close { code, reason } => {
303 NetEvent::WebSocketClosed { peer, code, reason }
304 }
305 }))
306 }
307
308 pub fn poll_event_default(&mut self) -> NetResult<Option<NetEvent>> {
309 self.poll_event(self.max_message_bytes)

Callers 1

poll_event_defaultMethod · 0.45

Calls 5

spawn_net_blockingFunction · 0.85
lock_websocketFunction · 0.85
read_messageMethod · 0.80
cloneMethod · 0.80
peer_stringMethod · 0.45

Tested by

no test coverage detected