Skip to content
Closed
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: 5 additions & 4 deletions src/websockets/asyncio/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import codecs
import collections
from collections.abc import AsyncIterator, Iterable
from typing import Any, Callable, Generic, Literal, TypeVar, overload
from typing import Any, Callable, Generic, List, Literal, TypeVar, overload

from ..exceptions import ConcurrencyError
from ..frames import BINARY, CONT, TEXT, Frame
Expand Down Expand Up @@ -54,10 +54,11 @@ async def get(self, block: bool = True) -> T:
self.get_waiter = None
return self.queue.popleft()

def reset(self, items: Iterable[T]) -> None:
"""Put back items into an empty, idle queue."""
def reset(self, items: List[T]) -> None:
"""Put back items into the idle queue."""
assert self.get_waiter is None, "cannot reset() while get() is running"
assert not self.queue, "cannot reset() while queue isn't empty"
items.extend(self.queue)
self.queue.clear()
self.queue.extend(items)

def abort(self) -> None:
Expand Down