--- /dev/null
+from socket import socket
+from typing import Any, Sequence
+
+from waitress.adjustments import Adjustments
+from waitress.channel import HTTPChannel
+from waitress.task import Task, ThreadedTaskDispatcher
+
+from . import wasyncore
+
+def create_server(
+ application: Any,
+ map: Any | None = ...,
+ _start: bool = ...,
+ _sock: socket | None = ...,
+ _dispatcher: ThreadedTaskDispatcher | None = ...,
+ **kw: Any,
+) -> MultiSocketServer | BaseWSGIServer: ...
+
+class MultiSocketServer:
+ asyncore: Any = ...
+ adj: Adjustments = ...
+ map: Any = ...
+ effective_listen: Sequence[tuple[str, int]] = ...
+ task_dispatcher: ThreadedTaskDispatcher = ...
+ def __init__(
+ self,
+ map: Any | None = ...,
+ adj: Adjustments | None = ...,
+ effective_listen: Sequence[tuple[str, int]] | None = ...,
+ dispatcher: ThreadedTaskDispatcher | None = ...,
+ ) -> None: ...
+ def print_listen(self, format_str: str) -> None: ...
+ def run(self) -> None: ...
+ def close(self) -> None: ...
+
+class BaseWSGIServer(wasyncore.dispatcher):
+ channel_class: HTTPChannel = ...
+ next_channel_cleanup: int = ...
+ socketmod: socket = ...
+ asyncore: Any = ...
+ sockinfo: tuple[int, int, int, tuple[str, int]] = ...
+ family: int = ...
+ socktype: int = ...
+ application: Any = ...
+ adj: Adjustments = ...
+ trigger: int = ...
+ task_dispatcher: ThreadedTaskDispatcher = ...
+ server_name: str = ...
+ active_channels: HTTPChannel = ...
+ def __init__(
+ self,
+ application: Any,
+ map: Any | None = ...,
+ _start: bool = ...,
+ _sock: Any | None = ...,
+ dispatcher: ThreadedTaskDispatcher | None = ...,
+ adj: Adjustments | None = ...,
+ sockinfo: Any | None = ...,
+ bind_socket: bool = ...,
+ **kw: Any,
+ ) -> None: ...
+ def bind_server_socket(self) -> None: ...
+ def get_server_name(self, ip: str) -> str: ...
+ def getsockname(self) -> Any: ...
+ accepting: bool = ...
+ def accept_connections(self) -> None: ...
+ def add_task(self, task: Task) -> None: ...
+ def readable(self) -> bool: ...
+ def writable(self) -> bool: ...
+ def handle_read(self) -> None: ...
+ def handle_connect(self) -> None: ...
+ def handle_accept(self) -> None: ...
+ def run(self) -> None: ...
+ def pull_trigger(self) -> None: ...
+ def set_socket_options(self, conn: Any) -> None: ...
+ def fix_addr(self, addr: Any) -> Any: ...
+ def maintenance(self, now: int) -> None: ...
+ def print_listen(self, format_str: str) -> None: ...
+ def close(self) -> None: ...
+
+class TcpWSGIServer(BaseWSGIServer):
+ def bind_server_socket(self) -> None: ...
+ def getsockname(self) -> tuple[str, tuple[str, int]]: ...
+ def set_socket_options(self, conn: socket) -> None: ...
+
+class UnixWSGIServer(BaseWSGIServer):
+ def __init__(
+ self,
+ application: Any,
+ map: Any | None = ...,
+ _start: bool = ...,
+ _sock: Any | None = ...,
+ dispatcher: Any | None = ...,
+ adj: Adjustments | None = ...,
+ sockinfo: Any | None = ...,
+ **kw: Any,
+ ) -> None: ...
+ def bind_server_socket(self) -> None: ...
+ def getsockname(self) -> tuple[str, tuple[str, int]]: ...
+ def fix_addr(self, addr: Any) -> tuple[str, None]: ...
+ def get_server_name(self, ip: Any) -> str: ...
+
+WSGIServer: TcpWSGIServer