--- /dev/null
+from socket import socket
+from threading import Condition, Lock
+from typing import Mapping, Sequence
+
+from waitress.adjustments import Adjustments
+from waitress.buffers import OverflowableBuffer
+from waitress.parser import HTTPRequestParser
+from waitress.server import BaseWSGIServer
+from waitress.task import ErrorTask, WSGITask
+
+from . import wasyncore as wasyncore
+
+class ClientDisconnected(Exception): ...
+
+class HTTPChannel(wasyncore.dispatcher):
+ task_class: WSGITask = ...
+ error_task_class: ErrorTask = ...
+ parser_class: HTTPRequestParser = ...
+ request: HTTPRequestParser = ...
+ last_activity: float = ...
+ will_close: bool = ...
+ close_when_flushed: bool = ...
+ requests: Sequence[HTTPRequestParser] = ...
+ sent_continue: bool = ...
+ total_outbufs_len: int = ...
+ current_outbuf_count: int = ...
+ server: BaseWSGIServer = ...
+ adj: Adjustments = ...
+ outbufs: Sequence[OverflowableBuffer] = ...
+ creation_time: float = ...
+ sendbuf_len: int = ...
+ task_lock: Lock = ...
+ outbuf_lock: Condition = ...
+ addr: tuple[str, int] = ...
+ def __init__(
+ self, server: BaseWSGIServer, sock: socket, addr: str, adj: Adjustments, map: Mapping[int, socket] | None = ...
+ ) -> None: ...
+ def writable(self) -> bool: ...
+ def handle_write(self) -> None: ...
+ def readable(self) -> bool: ...
+ def handle_read(self) -> None: ...
+ def received(self, data: bytes) -> bool: ...
+ connected: bool = ...
+ def handle_close(self) -> None: ...
+ def add_channel(self, map: Mapping[int, socket] | None = ...) -> None: ...
+ def del_channel(self, map: Mapping[int, socket] | None = ...) -> None: ...
+ def write_soon(self, data: bytes) -> int: ...
+ def service(self) -> None: ...
+ def cancel(self) -> None: ...