HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/kombu/__pycache__/simple.cpython-310.pyc
o

'we��@s�dZddlmZddlZddlmZddlmZddlm	Z	ddl
mZdd	lm
Z
mZdd
lmZer:ddlmZdZGd
d�d�ZGdd�de�ZGdd�de�ZdS)zSimple messaging interface.�)�annotationsN)�deque)�Empty)�	monotonic)�
TYPE_CHECKING�)�entity�	messaging)�
maybe_channel)�
TracebackType)�SimpleQueue�SimpleBufferc@s�eZdZeZdZdd�Zd&dd
�Zd'dd�Zd(dd�Zdd�Z			d)dd�Z
dd�Zdd�Zdd�Z
dd�Zd d!�Zd"d#�Zd$d%�ZeZdS)*�
SimpleBaseFcCs|S�N���selfrr�E/home/arjun/projects/env/lib/python3.10/site-packages/kombu/simple.py�	__enter__�zSimpleBase.__enter__�exc_type�type[BaseException] | None�exc_val�BaseException | None�exc_tb�TracebackType | None�return�NonecCs|��dSr)�close)rrrrrrr�__exit__szSimpleBase.__exit__cCsDt|�|_||_||_||_|jjd|_t�|_|j�	|j
�dS)Nr)r
�channel�producer�consumer�no_ack�queues�queuer�buffer�register_callback�_receive)rr r!r"r#rrr�__init__#s
zSimpleBase.__init__TNcCs�|s|��S|��t�}|}	|jr|j��S|dur$|dkr$|���z|jjjj	|d�Wnt
jy;|���w|durIt�|}||}q)NTg)�timeout)�
get_nowait�_consumerr&�popleftrr �
connection�client�drain_events�socketr*)r�blockr*�
time_start�	remaining�elapsedrrr�get,s&
�
�zSimpleBase.getcCs&|jj|j|jjd�}|s|���|S)N)r#�accept)r%r6r#r"r7r)r�mrrrr+NszSimpleBase.get_nowaitcKs"|jj|f||||d�|��dS)N)�
serializer�routing_key�headers�compression)r!�publish)r�messager9r;r<r:�kwargsrrr�putTs
�
�zSimpleBase.putcCs
|j��Sr)r"�purgerrrr�clear]s
zSimpleBase.clearcCs|jjdd�\}}}|S)NT)�passive)r%�
queue_declare)r�_�sizerrr�qsize`szSimpleBase.qsizecCs|j��dSr)r"�cancelrrrrrdszSimpleBase.closecCs|j�|�dSr)r&�append)r�message_datar>rrrr(gszSimpleBase._receivecCs$|js|jj|jd�d|_dSdS)N)r#T)�
_consumingr"�consumer#rrrrr,js
�zSimpleBase._consumecCs|��S)z`len(self) -> self.qsize()`.)rGrrrr�__len__oszSimpleBase.__len__cCsdS)NTrrrrr�__bool__srzSimpleBase.__bool__)rrrrrrrr)F)TN)NNNN)�__name__�
__module__�__qualname__rrKrrr)r6r+r@rBrGrr(r,rMrN�__nonzero__rrrrrs&


	"
�	rcs<eZdZdZdZiZiZddiZ			d�fdd�	Z�Z	S)	rz!Simple API for persistent queues.F�type�directNc
s�|}
t|jfi|p
i��}t|jfi|pi��}t|jfi|p i��}|dur*|j}t|
tj�sItj|fi|��}tj|||fd|i|��}
|}n|
j	}|
j
}tj||
|	d�}
tj
|||||d�}t��|||
|�dS)N�queue_arguments)r7)r9r:r<)�dict�
queue_opts�
queue_args�
exchange_optsr#�
isinstancer�Queue�Exchange�exchanger:r	�Consumer�Producer�superr))rr �namer#rWrXrYr9r<r7r%r]r:r"r!��	__class__rrr)�s2���
�zSimpleQueue.__init__)NNNNNNN)
rOrPrQ�__doc__r#rWrXrYr)�
__classcell__rrrbrrxs�rc@s*eZdZdZdZddd�Zdddd�ZdS)r
z Simple API for ephemeral queues.TF)�durable�auto_delete�	transient)rf�
delivery_modergN)rOrPrQrdr#rWrYrrrrr
�s�
�r
)rd�
__future__rr1�collectionsrr%r�timer�typingr�rr	r.r
�typesr�__all__rrr
rrrr�<module>sd#