massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / socketserver.pyi
1 import sys
2 import types
3 from _typeshed import Self
4 from socket import socket as _socket
5 from typing import Any, BinaryIO, Callable, ClassVar, Tuple, Type, TypeVar, Union
6
7 _T = TypeVar("_T")
8 _RequestType = Union[_socket, Tuple[bytes, _socket]]
9 _AddressType = Union[Tuple[str, int], str]
10
11 class BaseServer:
12     address_family: int
13     RequestHandlerClass: Callable[..., BaseRequestHandler]
14     server_address: tuple[str, int]
15     socket: _socket
16     allow_reuse_address: bool
17     request_queue_size: int
18     socket_type: int
19     timeout: float | None
20     def __init__(self, server_address: Any, RequestHandlerClass: Callable[..., BaseRequestHandler]) -> None: ...
21     def fileno(self) -> int: ...
22     def handle_request(self) -> None: ...
23     def serve_forever(self, poll_interval: float = ...) -> None: ...
24     def shutdown(self) -> None: ...
25     def server_close(self) -> None: ...
26     def finish_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
27     def get_request(self) -> tuple[Any, Any]: ...
28     def handle_error(self, request: _RequestType, client_address: _AddressType) -> None: ...
29     def handle_timeout(self) -> None: ...
30     def process_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
31     def server_activate(self) -> None: ...
32     def server_bind(self) -> None: ...
33     def verify_request(self, request: _RequestType, client_address: _AddressType) -> bool: ...
34     def __enter__(self: Self) -> Self: ...
35     def __exit__(
36         self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None
37     ) -> None: ...
38     def service_actions(self) -> None: ...
39     def shutdown_request(self, request: _RequestType) -> None: ...  # undocumented
40     def close_request(self, request: _RequestType) -> None: ...  # undocumented
41
42 class TCPServer(BaseServer):
43     def __init__(
44         self,
45         server_address: tuple[str, int],
46         RequestHandlerClass: Callable[..., BaseRequestHandler],
47         bind_and_activate: bool = ...,
48     ) -> None: ...
49     def get_request(self) -> tuple[_socket, Any]: ...
50     def finish_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
51     def handle_error(self, request: _RequestType, client_address: _AddressType) -> None: ...
52     def process_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
53     def verify_request(self, request: _RequestType, client_address: _AddressType) -> bool: ...
54     def shutdown_request(self, request: _RequestType) -> None: ...  # undocumented
55     def close_request(self, request: _RequestType) -> None: ...  # undocumented
56
57 class UDPServer(BaseServer):
58     def __init__(
59         self,
60         server_address: tuple[str, int],
61         RequestHandlerClass: Callable[..., BaseRequestHandler],
62         bind_and_activate: bool = ...,
63     ) -> None: ...
64     def get_request(self) -> tuple[tuple[bytes, _socket], Any]: ...
65     def finish_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
66     def handle_error(self, request: _RequestType, client_address: _AddressType) -> None: ...
67     def process_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
68     def verify_request(self, request: _RequestType, client_address: _AddressType) -> bool: ...
69     def shutdown_request(self, request: _RequestType) -> None: ...  # undocumented
70     def close_request(self, request: _RequestType) -> None: ...  # undocumented
71
72 if sys.platform != "win32":
73     class UnixStreamServer(BaseServer):
74         def __init__(
75             self,
76             server_address: str | bytes,
77             RequestHandlerClass: Callable[..., BaseRequestHandler],
78             bind_and_activate: bool = ...,
79         ) -> None: ...
80     class UnixDatagramServer(BaseServer):
81         def __init__(
82             self,
83             server_address: str | bytes,
84             RequestHandlerClass: Callable[..., BaseRequestHandler],
85             bind_and_activate: bool = ...,
86         ) -> None: ...
87
88 if sys.platform != "win32":
89     class ForkingMixIn:
90         timeout: float | None  # undocumented
91         active_children: set[int] | None  # undocumented
92         max_children: int  # undocumented
93         if sys.version_info >= (3, 7):
94             block_on_close: bool
95         def collect_children(self, *, blocking: bool = ...) -> None: ...  # undocumented
96         def handle_timeout(self) -> None: ...  # undocumented
97         def service_actions(self) -> None: ...  # undocumented
98         def process_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
99         def server_close(self) -> None: ...
100
101 class ThreadingMixIn:
102     daemon_threads: bool
103     if sys.version_info >= (3, 7):
104         block_on_close: bool
105     def process_request_thread(self, request: _RequestType, client_address: _AddressType) -> None: ...  # undocumented
106     def process_request(self, request: _RequestType, client_address: _AddressType) -> None: ...
107     def server_close(self) -> None: ...
108
109 if sys.platform != "win32":
110     class ForkingTCPServer(ForkingMixIn, TCPServer): ...
111     class ForkingUDPServer(ForkingMixIn, UDPServer): ...
112
113 class ThreadingTCPServer(ThreadingMixIn, TCPServer): ...
114 class ThreadingUDPServer(ThreadingMixIn, UDPServer): ...
115
116 if sys.platform != "win32":
117     class ThreadingUnixStreamServer(ThreadingMixIn, UnixStreamServer): ...
118     class ThreadingUnixDatagramServer(ThreadingMixIn, UnixDatagramServer): ...
119
120 class BaseRequestHandler:
121     # Those are technically of types, respectively:
122     # * _RequestType
123     # * _AddressType
124     # But there are some concerns that having unions here would cause
125     # too much inconvenience to people using it (see
126     # https://github.com/python/typeshed/pull/384#issuecomment-234649696)
127     request: Any
128     client_address: Any
129     server: BaseServer
130     def __init__(self, request: _RequestType, client_address: _AddressType, server: BaseServer) -> None: ...
131     def setup(self) -> None: ...
132     def handle(self) -> None: ...
133     def finish(self) -> None: ...
134
135 class StreamRequestHandler(BaseRequestHandler):
136     rbufsize: ClassVar[int]  # undocumented
137     wbufsize: ClassVar[int]  # undocumented
138     timeout: ClassVar[float | None]  # undocumented
139     disable_nagle_algorithm: ClassVar[bool]  # undocumented
140     connection: _socket  # undocumented
141     rfile: BinaryIO
142     wfile: BinaryIO
143
144 class DatagramRequestHandler(BaseRequestHandler):
145     packet: _socket  # undocumented
146     socket: _socket  # undocumented
147     rfile: BinaryIO
148     wfile: BinaryIO