U
    #ö†iÿ  ã                   @   s\   d dl mZ d dlmZ d dlmZmZ eG dd„ dƒƒZG dd„ deeƒZ	dZ
d	d
iZdS )é    )Ú	dataclass)ÚEnum)ÚAnyÚDictc                   @   sB   e Zd ZU dZeed< eeef ed< eed< eed< dd„ ZdS )	ÚMessagez+
    Dataclass abstraction for message
    ÚeventÚpayloadÚrefÚtopicc                 C   s$   t | jtt| j ¡ ƒƒ| j| jfƒS )N)Úhashr   ÚtupleÚlistr   Úvaluesr	   r
   )Úself© r   ú4/tmp/pip-unpacked-wheel-935k1slo/realtime/message.pyÚ__hash__   s    ÿzMessage.__hash__N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   r   r   r   r   r   r   r      s   
r   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	ÚChannelEventszƒ
    ChannelEvents are a bunch of constant strings that are defined according to
    what the Phoenix realtime server expects.
    Z	phx_closeZ	phx_errorZphx_joinZ	phx_replyZ	phx_leaveÚ	heartbeatN)
r   r   r   r   ÚcloseÚerrorÚjoinZreplyZleaver   r   r   r   r   r      s   r   ZphoenixÚmsgZpingN)Zdataclassesr   Úenumr   Útypingr   r   r   r   r   ZPHOENIX_CHANNELZHEARTBEAT_PAYLOADr   r   r   r   Ú<module>   s   