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

Method poll_accepts

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

Source from the content-addressed store, hash-verified

281
282 fn poll_accepts(&mut self, max_per_socket: usize, events: &mut Vec<NetworkEvent>) {
283 let Some(host_ids) = self.tcp_hosts.live_ids() else {
284 return;
285 };
286 for &host_index in host_ids.iter() {
287 let Some(host) = self.tcp_hosts.get(host_index) else {
288 continue;
289 };
290 for _ in 0..max_per_socket {
291 match host.accept_event() {
292 Ok(Some((connection, event))) => {
293 let id =
294 TcpConnectionId(insert_slot(&mut self.tcp_connections, connection));
295 events.push(NetworkEvent {
296 source: NetSource::TcpConnection(id),
297 event,
298 });
299 }
300 Ok(None) => break,
301 Err(err) => {
302 events.push(net_error_event(
303 NetSource::TcpHost(TcpHostId(host_index)),
304 "tcp_accept",
305 err,
306 ));
307 break;
308 }
309 }
310 }
311 }
312 }
313

Callers 3

poll_eventsMethod · 0.80
poll_variant_eventsMethod · 0.80
poll_frame_eventsMethod · 0.80

Calls 10

TcpConnectionIdClass · 0.85
insert_slotFunction · 0.85
TcpConnectionClass · 0.85
net_error_eventFunction · 0.85
TcpHostClass · 0.85
TcpHostIdClass · 0.85
lenMethod · 0.45
as_refMethod · 0.45
accept_eventMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected