asyncio.Server.socket fixes (#5538)

* Move socket from AbstractServer to Server.
* Fix Server.socket type on Python 3.7+.
* Use Iterable instead of list for socket argument.

Closes: #5535
This commit is contained in:
Sebastian Rittau
2021-05-27 16:14:36 +02:00
committed by GitHub
parent 038556cb7e
commit ca256b85b9
2 changed files with 11 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ from asyncio.futures import Future
from asyncio.protocols import BaseProtocol
from asyncio.tasks import Task
from asyncio.transports import BaseTransport
from collections.abc import Iterable
from socket import AddressFamily, SocketKind, _Address, _RetAddress, socket
from typing import IO, Any, Awaitable, Callable, Dict, Generator, List, Optional, Sequence, Tuple, TypeVar, Union, overload
from typing_extensions import Literal
@@ -26,14 +27,22 @@ class Server(AbstractServer):
def __init__(
self,
loop: AbstractEventLoop,
sockets: List[socket],
sockets: Iterable[socket],
protocol_factory: _ProtocolFactory,
ssl_context: _SSLContext,
backlog: int,
ssl_handshake_timeout: Optional[float],
) -> None: ...
else:
def __init__(self, loop: AbstractEventLoop, sockets: List[socket]) -> None: ...
def __init__(self, loop: AbstractEventLoop, sockets: list[socket]) -> None: ...
if sys.version_info >= (3, 8):
@property
def sockets(self) -> Tuple[socket, ...]: ...
elif sys.version_info >= (3, 7):
@property
def sockets(self) -> list[socket]: ...
else:
sockets: Optional[list[socket]]
class BaseEventLoop(AbstractEventLoop, metaclass=ABCMeta):
def run_forever(self) -> None: ...

View File

@@ -53,7 +53,6 @@ class TimerHandle(Handle):
def when(self) -> float: ...
class AbstractServer:
sockets: Optional[List[socket]]
def close(self) -> None: ...
if sys.version_info >= (3, 7):
async def __aenter__(self: _T) -> _T: ...