File: //usr/local/lib/python3.9/site-packages/kombu/__pycache__/resource.cpython-39.pyc
a
X>h� � @ s� d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ ddl
mZ dd lm
Z
dd
lmZ ddlmZ er|ddlmZ d
d� ZG dd� de �ZG dd� d�ZdS )z%Generic resource pool implementation.� )�annotationsN)�deque)�Empty)� LifoQueue)�
TYPE_CHECKING� )�
exceptions)�register_after_fork)�lazy)�
TracebackTypec C s$ z| � � W n ty Y n0 d S �N)�force_close_all� Exception)�resource� r �8/usr/local/lib/python3.9/site-packages/kombu/resource.py�_after_fork_cleanup_resource s r c @ s e Zd ZdZdd� ZdS )r z#Last in first out version of Queue.c C s t � | _d S r )r �queue)�self�maxsizer r r �_init s zLifoQueue._initN)�__name__�
__module__�__qualname__�__doc__r r r r r r s r c @ s� e Zd ZdZejZdZd&dd�Zdd� Zdd � Z d'd
d�Z
dd
� Zdd� Zdd� Z
dd� Zdd� Zdd� Zd(dd�Zd)dd�Zd*dd�Zedd � �Zejd!d � �Zej�d"�r�e
ZeZd#Zd$d� Z
d%d� ZdS )+�ResourcezPool of resources.FNc C s^ || _ |pd| _d| _|d ur"|n| j| _t� | _t� | _| jrRtd urRt| t � | �
� d S )Nr F)�_limit�preload�_closed�close_after_forkr � _resource�set�_dirtyr r �setup)r �limitr r r r r �__init__( s
��
zResource.__init__c C s t d��d S )Nzsubclass responsibility)�NotImplementedError�r r r r r# 7 s zResource.setupc C s6 | j r"t| j�| j kr"| �| j ��| j�| �� � d S r )r$ �lenr"