asyncio event guarantees to notify all waiting?
I'm wondering if set'ing an asyncio.Event guarantees to notify all tasks that are waiting for the event ?
Thus even if I `set()` the event and directly `clear()` the event, considering that both thus instructions are no co-routines and thus will not return control to the event-loop, will the wait'ers be notified?
I guess so because if I add a 'clear()' directly after the `set` in following example, the waiting task is still notified. However this guarantee is not in the documentation:
async def waiter(event):
print('waiting for it ...')
print('... got it!')
async def main():
# Create an Event object.
event = asyncio.Event()
# Spawn a Task to wait until 'event' is set.
waiter_task = asyncio.create_task(waiter(event))
# Sleep for 1 second and set the event.
event.clear() # event directly cleared after being set
# Wait until the waiter task is finished.