HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/kombu/transport/__pycache__/base.cpython-39.pyc
a

X>h�@sdZddlmZddlZddlZddlmZddlmZddl	m
Z
mZddlm
Z
ddlmZdd	lmZdd
lmZer�ddlmZdZd
efdefdefdefdefd�Zdd�Zdd�Zdd�ZGdd�d�ZGdd�d�ZGdd�de�Zede gd ��dd!�Z!Gd"d#�d#�Z"dS)$zBase transport interface.�)�annotationsN)�
TYPE_CHECKING)�RecoverableConnectionError)�ChannelError�ConnectionError)�Message)�
dictfilter)�cached_property)�
maybe_s_to_ms)�
TracebackType)r�
StdChannel�
Management�	Transportz	x-expiresz
x-message-ttlzx-max-lengthzx-max-length-byteszx-max-priority)�expiresZmessage_ttl�
max_lengthZmax_length_bytesZmax_prioritycKs2ttdd�|��D���}|r.t|fi|��S|S)a!Convert queue arguments to RabbitMQ queue arguments.

    This is the implementation for Channel.prepare_queue_arguments
    for AMQP-based transports.  It's used by both the pyamqp and librabbitmq
    transports.

    Arguments:
        arguments (Mapping):
            User-supplied arguments (``Queue.queue_arguments``).

    Keyword Arguments:
        expires (float): Queue expiry time in seconds.
            This will be converted to ``x-expires`` in int milliseconds.
        message_ttl (float): Message TTL in seconds.
            This will be converted to ``x-message-ttl`` in int milliseconds.
        max_length (int): Max queue length (in number of messages).
            This will be converted to ``x-max-length`` int.
        max_length_bytes (int): Max queue size in bytes.
            This will be converted to ``x-max-length-bytes`` int.
        max_priority (int): Max priority steps for queue.
            This will be converted to ``x-max-priority`` int.

    Returns
    -------
        Dict: RabbitMQ compatible queue arguments.
    css|]\}}t||�VqdS�N)�_to_rabbitmq_queue_argument)�.0�key�value�r�>/usr/local/lib/python3.9/site-packages/kombu/transport/base.py�	<genexpr>=s�z.to_rabbitmq_queue_arguments.<locals>.<genexpr>)r�dict�items)�	arguments�options�preparedrrr�to_rabbitmq_queue_arguments!s
�
rcCs$t|\}}||dur||�n|fSr)�RABBITMQ_QUEUE_ARGUMENTS)rr�opt�typrrrrDsrcCstd�|j|��S)Nz<Transport {0.__module__}.{0.__name__} does not implement {1})�NotImplementedError�format�	__class__)�obj�methodrrr�
_LeftBlankJs
��r'c@sXeZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
ddddd�dd�ZdS)rzStandard channel base class.NcOs"ddlm}||g|�Ri|��S)Nr)�Consumer)�kombu.messagingr()�self�args�kwargsr(rrrr(UszStdChannel.ConsumercOs"ddlm}||g|�Ri|��S)Nr)�Producer)r)r-)r*r+r,r-rrrr-YszStdChannel.ProducercCst|d��dS�N�get_bindings�r'�r*rrrr/]szStdChannel.get_bindingscCsdS)z�Callback called after RPC reply received.

        Notes
        -----
           Reply queue semantics: can be used to delete the queue
           after transient reply message received.
        Nr)r*�queuerrr�after_reply_message_received`sz'StdChannel.after_reply_message_receivedcKs|Srr)r*rr,rrr�prepare_queue_argumentsisz"StdChannel.prepare_queue_argumentscCs|Srrr1rrr�	__enter__lszStdChannel.__enter__ztype[BaseException] | NonezBaseException | NonezTracebackType | None�None)�exc_type�exc_val�exc_tb�returncCs|��dSr)�close)r*r7r8r9rrr�__exit__oszStdChannel.__exit__)�__name__�
__module__�__qualname__�__doc__Zno_ack_consumersr(r-r/r3r4r5r<rrrrrPs	rc@s eZdZdZdd�Zdd�ZdS)r
z!AMQP Management API (incomplete).cCs
||_dSr)�	transport)r*rArrr�__init__{szManagement.__init__cCst|d��dSr.r0r1rrrr/~szManagement.get_bindingsN)r=r>r?r@rBr/rrrrr
xsr
c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�
Implementsz/Helper class used to define transport features.cCs*z
||WSty$t|��Yn0dSr)�KeyError�AttributeError)r*rrrr�__getattr__�s
zImplements.__getattr__cCs|||<dSrr)r*rrrrr�__setattr__�szImplements.__setattr__cKs|j|fi|��Sr)r$)r*r,rrr�extend�szImplements.extendN)r=r>r?r@rFrGrHrrrrrC�srCF)�directZtopicZfanout�headers)�asynchronousZ
exchange_type�
heartbeatsc@seZdZdZeZdZdZdZefZ	e
fZdZdZ
dZe��Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zd3dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zejej e!j"e!j#ffdd�Z$d d!�Z%d"d#�Z&d4d%d%d&�d'd(�Z'e(d)d*��Z)d+d,�Z*e+d-d.��Z,e(d/d0��Z-e(d1d2��Z.dS)5rzBase class for transports.NF�N/AcKs
||_dSr)�client)r*rNr,rrrrB�szTransport.__init__cCst|d��dS)N�establish_connectionr0r1rrrrO�szTransport.establish_connectioncCst|d��dS)N�close_connectionr0�r*�
connectionrrrrP�szTransport.close_connectioncCst|d��dS)N�create_channelr0rQrrrrS�szTransport.create_channelcCst|d��dS)N�
close_channelr0rQrrrrT�szTransport.close_channelcKst|d��dS)N�drain_eventsr0)r*rRr,rrrrU�szTransport.drain_events�cCsdSrr)r*rRZraterrr�heartbeat_check�szTransport.heartbeat_checkcCsdS)NrMrr1rrr�driver_version�szTransport.driver_versioncCsdS)NrrrQrrr�get_heartbeat_interval�sz Transport.get_heartbeat_intervalcCsdSrr�r*rR�looprrr�register_with_event_loop�sz"Transport.register_with_event_loopcCsdSrrrZrrr�unregister_from_event_loop�sz$Transport.unregister_from_event_loopcCsdS�NTrrQrrr�verify_connection�szTransport.verify_connectioncs �j�������fdd���S)Nc
s~�jstd��z�dd�WnP�y0YdS�yl}z&|j�vrVWYd}~dS�WYd}~n
d}~00|��|�dS)NzSocket was disconnectedr)�timeout)�	connectedr�errno�	call_soon)r[�exc��_read�_unavailrRrU�errorr`rrrf�s
z%Transport._make_reader.<locals>._read)rU)r*rRr`rhrgrrer�_make_reader�s
zTransport._make_readercCsdSr^rrQrrr�qos_semantics_matches_spec�sz$Transport.qos_semantics_matches_speccCs*|j}|dur|�|�}|_||�dSr)�_Transport__readerri)r*rRr[�readerrrr�on_readable�szTransport.on_readable�**�str)�urir:cCs
t��dS)z(Customise the display format of the URI.N)r")r*rpZinclude_password�maskrrr�as_uri�szTransport.as_uricCsiSrrr1rrr�default_connection_params�sz#Transport.default_connection_paramscOs
|�|�Sr)r
)r*r+r,rrr�get_managerszTransport.get_managercCs|��Sr)rtr1rrr�managerszTransport.managercCs|jjSr)�
implementsrLr1rrr�supports_heartbeats	szTransport.supports_heartbeatscCs|jjSr)rvrKr1rrr�supports_ev
szTransport.supports_ev)rV)Frn)/r=r>r?r@r
rNZ
can_parse_url�default_portrZconnection_errorsrZchannel_errorsZdriver_typeZdriver_namerk�default_transport_capabilitiesrHrvrBrOrPrSrTrUrWrXrYr\r]r_�socketr`rhrb�EAGAINZEINTRrirjrmrr�propertyrsrtr	rurwrxrrrrr�sL
�



r)#r@�
__future__rrbr{�typingrZamqp.exceptionsrZkombu.exceptionsrrZ
kombu.messagerZkombu.utils.functionalrZkombu.utils.objectsr	Zkombu.utils.timer
�typesr�__all__�intrrrr'rr
rrC�	frozensetrzrrrrr�<module>s>�	#(

�