3 from types import TracebackType
4 from typing import Any, BinaryIO, Iterable, NoReturn, Tuple, Type, Union, overload
6 if sys.version_info >= (3, 8):
7 # These are based in socket, maybe move them out into _typeshed.pyi or such
8 _Address = Union[Tuple[Any, ...], str]
10 _WriteBuffer = Union[bytearray, memoryview]
11 _CMSG = Tuple[int, int, bytes]
12 class TransportSocket:
13 def __init__(self, sock: socket.socket) -> None: ...
14 def _na(self, what: str) -> None: ...
16 def family(self) -> int: ...
18 def type(self) -> int: ...
20 def proto(self) -> int: ...
21 def __getstate__(self) -> NoReturn: ...
22 def fileno(self) -> int: ...
23 def dup(self) -> socket.socket: ...
24 def get_inheritable(self) -> bool: ...
25 def shutdown(self, how: int) -> None: ...
27 def getsockopt(self, level: int, optname: int) -> int: ...
29 def getsockopt(self, level: int, optname: int, buflen: int) -> bytes: ...
31 def setsockopt(self, level: int, optname: int, value: int | bytes) -> None: ...
33 def setsockopt(self, level: int, optname: int, value: None, optlen: int) -> None: ...
34 def getpeername(self) -> _RetAddress: ...
35 def getsockname(self) -> _RetAddress: ...
36 def getsockbyname(self) -> NoReturn: ... # This method doesn't exist on socket, yet is passed through?
37 def accept(self) -> tuple[socket.socket, _RetAddress]: ...
38 def connect(self, address: _Address | bytes) -> None: ...
39 def connect_ex(self, address: _Address | bytes) -> int: ...
40 def bind(self, address: _Address | bytes) -> None: ...
41 if sys.platform == "win32":
42 def ioctl(self, control: int, option: int | tuple[int, int, int] | bool) -> None: ...
44 def ioctl(self, control: int, option: int | tuple[int, int, int] | bool) -> NoReturn: ...
45 def listen(self, __backlog: int = ...) -> None: ...
46 def makefile(self) -> BinaryIO: ...
47 def sendfile(self, file: BinaryIO, offset: int = ..., count: int | None = ...) -> int: ...
48 def close(self) -> None: ...
49 def detach(self) -> int: ...
50 if sys.platform == "linux":
52 self, msg: Iterable[bytes] = ..., *, op: int, iv: Any = ..., assoclen: int = ..., flags: int = ...
56 self, msg: Iterable[bytes] = ..., *, op: int, iv: Any = ..., assoclen: int = ..., flags: int = ...
59 self, __buffers: Iterable[bytes], __ancdata: Iterable[_CMSG] = ..., __flags: int = ..., __address: _Address = ...
62 def sendto(self, data: bytes, address: _Address) -> int: ...
64 def sendto(self, data: bytes, flags: int, address: _Address) -> int: ...
65 def send(self, data: bytes, flags: int = ...) -> int: ...
66 def sendall(self, data: bytes, flags: int = ...) -> None: ...
67 def set_inheritable(self, inheritable: bool) -> None: ...
68 if sys.platform == "win32":
69 def share(self, process_id: int) -> bytes: ...
71 def share(self, process_id: int) -> NoReturn: ...
72 def recv_into(self, buffer: _WriteBuffer, nbytes: int = ..., flags: int = ...) -> int: ...
73 def recvfrom_into(self, buffer: _WriteBuffer, nbytes: int = ..., flags: int = ...) -> tuple[int, _RetAddress]: ...
75 self, __buffers: Iterable[_WriteBuffer], __ancbufsize: int = ..., __flags: int = ...
76 ) -> tuple[int, list[_CMSG], int, Any]: ...
77 def recvmsg(self, __bufsize: int, __ancbufsize: int = ..., __flags: int = ...) -> tuple[bytes, list[_CMSG], int, Any]: ...
78 def recvfrom(self, bufsize: int, flags: int = ...) -> tuple[bytes, _RetAddress]: ...
79 def recv(self, bufsize: int, flags: int = ...) -> bytes: ...
80 def settimeout(self, value: float | None) -> None: ...
81 def gettimeout(self) -> float | None: ...
82 def setblocking(self, flag: bool) -> None: ...
83 def __enter__(self) -> socket.socket: ...
85 self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None