From 20d875dc75ad051f757e404ce37948ac80e62711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rousset?= Date: Thu, 2 Jun 2016 19:06:41 +0200 Subject: [PATCH] complete socketserver (#238) --- stdlib/3/socketserver.pyi | 84 ++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 11 deletions(-) diff --git a/stdlib/3/socketserver.pyi b/stdlib/3/socketserver.pyi index b92e01fd9..56c597340 100644 --- a/stdlib/3/socketserver.pyi +++ b/stdlib/3/socketserver.pyi @@ -1,15 +1,77 @@ -# Stubs for socketserver +# Stubs for socketserver (Python 3.4) -# NOTE: These are incomplete! +from typing import Optional, Tuple +from socket import SocketType +import sys +import types -from typing import Tuple +class BaseServer: + address_family = ... # type: int + RequestHandlerClass = ... # type: type + server_address = ... # type: Tuple[str, int] + socket = ... # type: SocketType + allow_reuse_address = ... # type: bool + request_queue_size = ... # type: int + socket_type = ... # type: int + timeout = ... # type: Optional[float] + def __init__(self, server_address: Tuple[str, int], + RequestHandlerClass: type) -> None: ... + def fileno(self) -> int: ... + def handle_request(self) -> None: ... + def serve_forever(self, poll_interval: float = ...) -> None: ... + def shutdown(self) -> None: ... + def server_close(self) -> None: ... + def finish_request(self) -> None: ... + def get_request(self) -> None: ... + def handle_error(self, request: bytes, + client_address: Tuple[str, int]) -> None: ... + def handle_timeout(self) -> None: ... + def process_request(self, request: bytes, + client_address: Tuple[str, int]) -> None: ... + def server_activate(self) -> None: ... + def server_bind(self) -> None: ... + def verify_request(self, request: bytes, + client_address: Tuple[str, int]) -> bool: ... + if sys.version_info >= (3, 6): + def __enter__(self) -> 'BaseServer': ... + def __exit__(self, exc_type: Optional[type], + exc_val: Optional[Exception], + exc_tb: Optional[types.TracebackType]) -> bool: ... + if sys.version_info >= (3, 3): + def service_actions(self) -> None: ... -class BaseRequestHandler(): ... +class TCPServer(BaseServer): + def __init__(self, server_address: Tuple[str, int], + RequestHandlerClass: type, + bind_and_activate: bool = ...) -> None: ... -class TCPServer(): - def __init__( - self, - server_address: Tuple[str, int], - request_handler: BaseRequestHandler, - bind_and_activate: bool = ..., - ) -> None: ... +class UDPServer(BaseServer): + def __init__(self, server_address: Tuple[str, int], + RequestHandlerClass: type, + bind_and_activate: bool = ...) -> None: ... + +class UnixStreamServer(BaseServer): + def __init__(self, server_address: Tuple[str, int], + RequestHandlerClass: type, + bind_and_activate: bool = ...) -> None: ... + +class UnixDatagramServer(BaseServer): + def __init__(self, server_address: Tuple[str, int], + RequestHandlerClass: type, + bind_and_activate: bool = ...) -> None: ... + +class ForkingMixIn: ... +class ThreadingMixIn: ... + +class ForkingTCPServer(ForkingMixIn, TCPServer): ... +class ForkingUDPServer(ForkingMixIn, UDPServer): ... +class ThreadingTCPServer(ThreadingMixIn, TCPServer): ... +class ThreadingUDPServer(ThreadingMixIn, UDPServer): ... + +class BaseRequestHandler: + def setup(self) -> None: ... + def handle(self) -> None: ... + def finish(self) -> None: ... + +class StreamRequestHandler(BaseRequestHandler): ... +class DatagramRequestHandler(BaseRequestHandler): ...