massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / coc-python-data / languageServer.0.5.59 / Typeshed / stdlib / 3 / socketserver.pyi
1 # NB: SocketServer.pyi and socketserver.pyi must remain consistent!\r
2 # Stubs for socketserver\r
3 \r
4 from typing import Any, BinaryIO, Optional, Tuple, Type\r
5 from socket import SocketType\r
6 import sys\r
7 import types\r
8 \r
9 class BaseServer:\r
10     address_family = ...  # type: int\r
11     RequestHandlerClass = ...  # type: type\r
12     server_address = ...  # type: Tuple[str, int]\r
13     socket = ...  # type: SocketType\r
14     allow_reuse_address = ...  # type: bool\r
15     request_queue_size = ...  # type: int\r
16     socket_type = ...  # type: int\r
17     timeout = ...  # type: Optional[float]\r
18     def __init__(self, server_address: Tuple[str, int],\r
19                  RequestHandlerClass: type) -> None: ...\r
20     def fileno(self) -> int: ...\r
21     def handle_request(self) -> None: ...\r
22     def serve_forever(self, poll_interval: float = ...) -> None: ...\r
23     def shutdown(self) -> None: ...\r
24     def server_close(self) -> None: ...\r
25     def finish_request(self, request: bytes,\r
26                        client_address: Tuple[str, int]) -> None: ...\r
27     def get_request(self) -> None: ...\r
28     def handle_error(self, request: bytes,\r
29                      client_address: Tuple[str, int]) -> None: ...\r
30     def handle_timeout(self) -> None: ...\r
31     def process_request(self, request: bytes,\r
32                         client_address: Tuple[str, int]) -> None: ...\r
33     def server_activate(self) -> None: ...\r
34     def server_bind(self) -> None: ...\r
35     def verify_request(self, request: bytes,\r
36                        client_address: Tuple[str, int]) -> bool: ...\r
37     if sys.version_info >= (3, 6):\r
38         def __enter__(self) -> 'BaseServer': ...\r
39         def __exit__(self, exc_type: Optional[Type[BaseException]],\r
40                      exc_val: Optional[BaseException],\r
41                      exc_tb: Optional[types.TracebackType]) -> bool: ...\r
42     if sys.version_info >= (3, 3):\r
43         def service_actions(self) -> None: ...\r
44 \r
45 class TCPServer(BaseServer):\r
46     def __init__(self, server_address: Tuple[str, int],\r
47                  RequestHandlerClass: type,\r
48                  bind_and_activate: bool = ...) -> None: ...\r
49 \r
50 class UDPServer(BaseServer):\r
51     def __init__(self, server_address: Tuple[str, int],\r
52                  RequestHandlerClass: type,\r
53                  bind_and_activate: bool = ...) -> None: ...\r
54 \r
55 if sys.platform != 'win32':\r
56     class UnixStreamServer(BaseServer):\r
57         def __init__(self, server_address: Tuple[str, int],\r
58                      RequestHandlerClass: type,\r
59                      bind_and_activate: bool = ...) -> None: ...\r
60 \r
61     class UnixDatagramServer(BaseServer):\r
62         def __init__(self, server_address: Tuple[str, int],\r
63                      RequestHandlerClass: type,\r
64                      bind_and_activate: bool = ...) -> None: ...\r
65 \r
66 class ForkingMixIn: ...\r
67 class ThreadingMixIn: ...\r
68 \r
69 class ForkingTCPServer(ForkingMixIn, TCPServer): ...\r
70 class ForkingUDPServer(ForkingMixIn, UDPServer): ...\r
71 class ThreadingTCPServer(ThreadingMixIn, TCPServer): ...\r
72 class ThreadingUDPServer(ThreadingMixIn, UDPServer): ...\r
73 if sys.platform != 'win32':\r
74     class ThreadingUnixStreamServer(ThreadingMixIn, UnixStreamServer): ...\r
75     class ThreadingUnixDatagramServer(ThreadingMixIn, UnixDatagramServer): ...\r
76 \r
77 \r
78 class BaseRequestHandler:\r
79     # Those are technically of types, respectively:\r
80     # * Union[SocketType, Tuple[bytes, SocketType]]\r
81     # * Union[Tuple[str, int], str]\r
82     # But there are some concerns that having unions here would cause\r
83     # too much inconvenience to people using it (see\r
84     # https://github.com/python/typeshed/pull/384#issuecomment-234649696)\r
85     request = ...  # type: Any\r
86     client_address = ...  # type: Any\r
87 \r
88     server = ...  # type: BaseServer\r
89     def setup(self) -> None: ...\r
90     def handle(self) -> None: ...\r
91     def finish(self) -> None: ...\r
92 \r
93 class StreamRequestHandler(BaseRequestHandler):\r
94     rfile = ...  # type: BinaryIO\r
95     wfile = ...  # type: BinaryIO\r
96 \r
97 class DatagramRequestHandler(BaseRequestHandler):\r
98     rfile = ...  # type: BinaryIO\r
99     wfile = ...  # type: BinaryIO\r