Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions stdlib/asyncio/protocols.pyi
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from _typeshed import ReadableBuffer
from asyncio import transports
from typing import Any

# Keep asyncio.__all__ updated with any changes to __all__ here
__all__ = ("BaseProtocol", "Protocol", "DatagramProtocol", "SubprocessProtocol", "BufferedProtocol")
Expand All @@ -27,11 +26,9 @@ class BufferedProtocol(BaseProtocol):
class DatagramProtocol(BaseProtocol):
__slots__ = ()
def connection_made(self, transport: transports.DatagramTransport) -> None: ... # type: ignore[override]
# addr can be a tuple[int, int] for some unusual protocols like socket.AF_NETLINK.
# Use tuple[str | Any, int] to not cause typechecking issues on most usual cases.
# This could be improved by using tuple[AnyOf[str, int], int] if the AnyOf feature is accepted.
# See https://github.com/python/typing/issues/566
def datagram_received(self, data: bytes, addr: tuple[str | Any, int]) -> None: ...
# Address is a 2-tuple (host, port) for IPv4, 4-tuple (host, port, flowinfo, scope_id) for IPv6,
# or tuple[int, int] for some unusual protocols like socket.AF_NETLINK.
def datagram_received(self, data: bytes, addr: tuple[str | int, int] | tuple[str, int, int, int]) -> None: ...
def error_received(self, exc: Exception) -> None: ...

class SubprocessProtocol(BaseProtocol):
Expand Down