OwlCyberSecurity - MANAGER
Edit File: timeout.cpython-39.pyc
a ���e+ � @ sJ d dl Z d dlZd dlmZ d dlmZ d dlmZmZ G dd� d�ZdS )� N)� TracebackType)�Any)�Optional�Typec @ s� e Zd ZdZdd�ee eej dd�dd�Zd d�dd �Z e e eeee d �dd�Zd d�d d�Ze e eedd �dd�Zee d�dd��Zeee d�dd��Zd d�dd�Ze e dd�dd�Zdd�dd�ZdS )�timeouta� timeout context manager. Useful in cases when you want to apply timeout logic around block of code or in cases when asyncio.wait_for is not suitable. For example: >>> with timeout(0.001): ... async with aiohttp.get('https://github.com') as r: ... await r.text() timeout - value in seconds or None to disable timeout logic loop - asyncio compatible event loop N)�loop)r r �returnc C sF || _ |d u rt�� }nt�dt� || _d | _d| _d | _ d | _ d S )Nz-The loop argument to timeout() is deprecated.F)�_timeout�asyncio�get_running_loop�warnings�warn�DeprecationWarning�_loop�_task� _cancelled�_cancel_handler� _cancel_at)�selfr r � r �P/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/asgiref/timeout.py�__init__ s �ztimeout.__init__)r c C s | � � S �N�� _do_enter�r r r r � __enter__2 s ztimeout.__enter__)�exc_type�exc_val�exc_tbr c C s | � |� d S r ��_do_exit�r r r r r r r �__exit__5 s ztimeout.__exit__c � s | � � S r r r r r r � __aenter__>