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

Method poll_udp_packets

perro_source/api_modules/perro_networking/src/world.rs:381–406  ·  view source on GitHub ↗
(
        &mut self,
        max_per_socket: usize,
        max_bytes: usize,
        events: &mut Vec<NetworkEvent>,
    )

Source from the content-addressed store, hash-verified

379 err,
380 ));
381 break;
382 }
383 }
384 }
385 }
386 }
387
388 fn poll_udp_packets(
389 &mut self,
390 max_per_socket: usize,
391 max_bytes: usize,
392 events: &mut Vec<NetworkEvent>,
393 ) {
394 for i in 0..self.udp_endpoints.len() {
395 let Some(endpoint) = self.udp_endpoints[i].as_ref() else {
396 continue;
397 };
398 let id = UdpEndpointId(i as u32);
399 for _ in 0..max_per_socket {
400 match endpoint.poll_event(max_bytes) {
401 Ok(Some(event)) => events.push(NetworkEvent {
402 source: NetSource::UdpEndpoint(id),
403 event,
404 }),
405 Ok(None) => break,
406 Err(err) => {
407 events.push(net_error_event(NetSource::UdpEndpoint(id), "udp_recv", err));
408 break;
409 }

Callers 3

poll_eventsMethod · 0.80
poll_variant_eventsMethod · 0.80
poll_frame_eventsMethod · 0.80

Calls 7

UdpEndpointIdClass · 0.85
UdpEndpointClass · 0.85
net_error_eventFunction · 0.85
lenMethod · 0.45
as_refMethod · 0.45
poll_eventMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected