massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / asyncio / streams.pyi
1 import sys
2 from _typeshed import StrPath
3 from typing import Any, AsyncIterator, Awaitable, Callable, Iterable, Optional
4
5 from . import events, protocols, transports
6 from .base_events import Server
7
8 _ClientConnectedCallback = Callable[[StreamReader, StreamWriter], Optional[Awaitable[None]]]
9
10 if sys.version_info < (3, 8):
11     class IncompleteReadError(EOFError):
12         expected: int | None
13         partial: bytes
14         def __init__(self, partial: bytes, expected: int | None) -> None: ...
15     class LimitOverrunError(Exception):
16         consumed: int
17         def __init__(self, message: str, consumed: int) -> None: ...
18
19 async def open_connection(
20     host: str | None = ...,
21     port: int | str | None = ...,
22     *,
23     loop: events.AbstractEventLoop | None = ...,
24     limit: int = ...,
25     ssl_handshake_timeout: float | None = ...,
26     **kwds: Any,
27 ) -> tuple[StreamReader, StreamWriter]: ...
28 async def start_server(
29     client_connected_cb: _ClientConnectedCallback,
30     host: str | None = ...,
31     port: int | str | None = ...,
32     *,
33     loop: events.AbstractEventLoop | None = ...,
34     limit: int = ...,
35     ssl_handshake_timeout: float | None = ...,
36     **kwds: Any,
37 ) -> Server: ...
38
39 if sys.platform != "win32":
40     if sys.version_info >= (3, 7):
41         _PathType = StrPath
42     else:
43         _PathType = str
44     async def open_unix_connection(
45         path: _PathType | None = ..., *, loop: events.AbstractEventLoop | None = ..., limit: int = ..., **kwds: Any
46     ) -> tuple[StreamReader, StreamWriter]: ...
47     async def start_unix_server(
48         client_connected_cb: _ClientConnectedCallback,
49         path: _PathType | None = ...,
50         *,
51         loop: events.AbstractEventLoop | None = ...,
52         limit: int = ...,
53         **kwds: Any,
54     ) -> Server: ...
55
56 class FlowControlMixin(protocols.Protocol):
57     def __init__(self, loop: events.AbstractEventLoop | None = ...) -> None: ...
58
59 class StreamReaderProtocol(FlowControlMixin, protocols.Protocol):
60     def __init__(
61         self,
62         stream_reader: StreamReader,
63         client_connected_cb: _ClientConnectedCallback | None = ...,
64         loop: events.AbstractEventLoop | None = ...,
65     ) -> None: ...
66     def connection_made(self, transport: transports.BaseTransport) -> None: ...
67     def connection_lost(self, exc: Exception | None) -> None: ...
68     def data_received(self, data: bytes) -> None: ...
69     def eof_received(self) -> bool: ...
70
71 class StreamWriter:
72     def __init__(
73         self,
74         transport: transports.BaseTransport,
75         protocol: protocols.BaseProtocol,
76         reader: StreamReader | None,
77         loop: events.AbstractEventLoop,
78     ) -> None: ...
79     @property
80     def transport(self) -> transports.BaseTransport: ...
81     def write(self, data: bytes) -> None: ...
82     def writelines(self, data: Iterable[bytes]) -> None: ...
83     def write_eof(self) -> None: ...
84     def can_write_eof(self) -> bool: ...
85     def close(self) -> None: ...
86     if sys.version_info >= (3, 7):
87         def is_closing(self) -> bool: ...
88         async def wait_closed(self) -> None: ...
89     def get_extra_info(self, name: str, default: Any = ...) -> Any: ...
90     async def drain(self) -> None: ...
91
92 class StreamReader:
93     def __init__(self, limit: int = ..., loop: events.AbstractEventLoop | None = ...) -> None: ...
94     def exception(self) -> Exception: ...
95     def set_exception(self, exc: Exception) -> None: ...
96     def set_transport(self, transport: transports.BaseTransport) -> None: ...
97     def feed_eof(self) -> None: ...
98     def at_eof(self) -> bool: ...
99     def feed_data(self, data: bytes) -> None: ...
100     async def readline(self) -> bytes: ...
101     async def readuntil(self, separator: bytes = ...) -> bytes: ...
102     async def read(self, n: int = ...) -> bytes: ...
103     async def readexactly(self, n: int) -> bytes: ...
104     def __aiter__(self) -> AsyncIterator[bytes]: ...
105     async def __anext__(self) -> bytes: ...