massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / selectors.pyi
1 import sys
2 from _typeshed import FileDescriptor, FileDescriptorLike, Self
3 from abc import ABCMeta, abstractmethod
4 from typing import Any, Mapping, NamedTuple
5
6 _EventMask = int
7
8 EVENT_READ: _EventMask
9 EVENT_WRITE: _EventMask
10
11 class SelectorKey(NamedTuple):
12     fileobj: FileDescriptorLike
13     fd: FileDescriptor
14     events: _EventMask
15     data: Any
16
17 class BaseSelector(metaclass=ABCMeta):
18     @abstractmethod
19     def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
20     @abstractmethod
21     def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
22     def modify(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
23     @abstractmethod
24     def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
25     def close(self) -> None: ...
26     def get_key(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
27     @abstractmethod
28     def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...
29     def __enter__(self: Self) -> Self: ...
30     def __exit__(self, *args: Any) -> None: ...
31
32 class SelectSelector(BaseSelector):
33     def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
34     def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
35     def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
36     def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...
37
38 if sys.platform != "win32":
39     class PollSelector(BaseSelector):
40         def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
41         def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
42         def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
43         def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...
44
45 if sys.platform == "linux":
46     class EpollSelector(BaseSelector):
47         def fileno(self) -> int: ...
48         def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
49         def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
50         def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
51         def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...
52
53 class DevpollSelector(BaseSelector):
54     def fileno(self) -> int: ...
55     def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
56     def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
57     def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
58     def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...
59
60 class KqueueSelector(BaseSelector):
61     def fileno(self) -> int: ...
62     def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
63     def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
64     def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
65     def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...
66
67 class DefaultSelector(BaseSelector):
68     def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...
69     def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...
70     def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...
71     def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...