Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/locks.cpython-35.opt-1.pyc



Z@s/ddlZddlZGdddZdS)Nc@sIeZdZdZddZdddZddZd	d
ZdS)EventResultOrErrorz
    This class wrappers the Event asyncio lock allowing either awake the
    locked Tasks without any error or raising an exception.

    thanks to @vorpalsmith for the simple design.
    cCs:||_d|_tjd||_tj|_dS)Nloop)_loop_excasyncioEvent_eventcollectionsdeque_waiters)selfrr
	/locks.py__init__s		zEventResultOrError.__init__NcCs||_|jjdS)N)rrset)rexcr
r
rrs	zEventResultOrError.setcsj|jj|jj}|jj|z|IdH}Wd|jj|X|jdk	rf|j|S)N)rZcreate_taskrwaitrappendremover)rwaitervalr
r
rrs	zEventResultOrError.waitcCs"x|jD]}|jq
WdS)z Cancel all waiters N)rcancel)rrr
r
rr#szEventResultOrError.cancel)__name__
__module____qualname____doc__rrrrr
r
r
rrs

r)rr	rr
r
r
r<module>s
Back to Directory File Manager