MCPcopy
hub / github.com/XX-net/XX-Net / select

Method select

code/default/lib/noarch/selectors2.py:301–322  ·  view source on GitHub ↗
(self, timeout=None)

Source from the content-addressed store, hash-verified

299 return key
300
301 def select(self, timeout=None):
302 # Selecting on empty lists on Windows errors out.
303 if not len(self._readers) and not len(self._writers):
304 return []
305
306 timeout = None if timeout is None else max(timeout, 0.0)
307 ready = []
308 r, w, _ = _syscall_wrapper(self._wrap_select, True, self._readers,
309 self._writers, timeout=timeout)
310 r = set(r)
311 w = set(w)
312 for fd in r | w:
313 events = 0
314 if fd in r:
315 events |= EVENT_READ
316 if fd in w:
317 events |= EVENT_WRITE
318
319 key = self._key_from_fd(fd)
320 if key:
321 ready.append((key, events & key.events))
322 return ready
323
324 def _wrap_select(self, r, w, timeout=None):
325 """ Wrapper for select.select because timeout is a positional arg """

Callers

nothing calls this directly

Calls 3

_syscall_wrapperFunction · 0.85
_key_from_fdMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected