o
    ¯N iö  ã                   @   s4   d dl mZ d dlmZ d dlZG dd„ deƒZdS )é    )Úabsolute_import)ÚEventNc                   @   s   e Zd Zdd„ Zddd„ZdS )ÚGeventSchedulerc                 C   s   t  |¡ d S ©N)ÚgeventÚspawn)ÚselfÚfn© r
   úM/home/ubuntu/.local/lib/python3.10/site-packages/promise/schedulers/gevent.pyÚcall   s   zGeventScheduler.callNc                    s8   t ƒ ‰ ‡ fdd„}| ||¡ ˆ  |¡}|stdƒ‚d S )Nc                    s   ˆ   ¡  d S r   )Úset)Ú_©Úer
   r   Úon_resolve_or_reject   s   z2GeventScheduler.wait.<locals>.on_resolve_or_rejectÚTimeout)r   Ú_thenÚwaitÚ	Exception)r   ÚpromiseÚtimeoutr   Úwaitedr
   r   r   r      s   
ÿzGeventScheduler.waitr   )Ú__name__Ú
__module__Ú__qualname__r   r   r
   r
   r
   r   r      s    r   )Ú
__future__r   Úgevent.eventr   r   Úobjectr   r
   r
   r
   r   Ú<module>   s    