advertising via bluetooth is done
This commit is contained in:
21
relay/queue.py
Normal file
21
relay/queue.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import uasyncio as asyncio
|
||||
|
||||
|
||||
class Queue:
|
||||
def __init__(self):
|
||||
self.items = []
|
||||
self.waiters = []
|
||||
|
||||
async def put(self, item):
|
||||
self.items.append(item)
|
||||
if self.waiters:
|
||||
waiter = self.waiters.pop(0)
|
||||
waiter.set()
|
||||
|
||||
async def get(self):
|
||||
while not self.items:
|
||||
event = asyncio.Event()
|
||||
self.waiters.append(event)
|
||||
await event.wait()
|
||||
|
||||
return self.items.pop(0)
|
||||
Reference in New Issue
Block a user