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

Method recv_from

perro_source/api_modules/perro_networking/src/udp.rs:38–51  ·  view source on GitHub ↗
(&self, max_bytes: usize)

Source from the content-addressed store, hash-verified

36 }
37
38 pub fn recv_from(&self, max_bytes: usize) -> NetResult<Option<UdpPacket>> {
39 let mut buf = vec![0_u8; max_bytes.max(1)];
40 match self.socket.recv_from(&mut buf) {
41 Ok((n, peer)) => {
42 buf.truncate(n);
43 Ok(Some(UdpPacket {
44 peer: peer.to_string(),
45 bytes: buf,
46 }))
47 }
48 Err(err) if err.kind() == io::ErrorKind::WouldBlock => Ok(None),
49 Err(err) => Err(NetError::from_io(NetErrorKind::Receive, err)),
50 }
51 }
52
53 pub fn poll_event(&self, max_bytes: usize) -> NetResult<Option<NetEvent>> {
54 let Some(packet) = self.recv_from(max_bytes)? else {

Callers 2

poll_eventMethod · 0.80

Calls 1

kindMethod · 0.80

Tested by 1