mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Issue #21723: asyncio.Queue: support any type of number (ex: float) for the
maximum size. Patch written by Vajrasky Kok.
This commit is contained in:
parent
14fbe72777
commit
66dc6b0f53
3 changed files with 21 additions and 3 deletions
|
@ -105,7 +105,7 @@ class Queue:
|
|||
if self._maxsize <= 0:
|
||||
return False
|
||||
else:
|
||||
return self.qsize() == self._maxsize
|
||||
return self.qsize() >= self._maxsize
|
||||
|
||||
@coroutine
|
||||
def put(self, item):
|
||||
|
@ -126,7 +126,7 @@ class Queue:
|
|||
self._put(item)
|
||||
getter.set_result(self._get())
|
||||
|
||||
elif self._maxsize > 0 and self._maxsize == self.qsize():
|
||||
elif self._maxsize > 0 and self._maxsize <= self.qsize():
|
||||
waiter = futures.Future(loop=self._loop)
|
||||
|
||||
self._putters.append((item, waiter))
|
||||
|
@ -152,7 +152,7 @@ class Queue:
|
|||
self._put(item)
|
||||
getter.set_result(self._get())
|
||||
|
||||
elif self._maxsize > 0 and self._maxsize == self.qsize():
|
||||
elif self._maxsize > 0 and self._maxsize <= self.qsize():
|
||||
raise QueueFull
|
||||
else:
|
||||
self._put(item)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue