B
    U[                 @   s   d Z ddlZddlZyddlmZ W n  ek
rD   ddlmZ Y nX ddlZddlmZm	Z	m
Z
 ddlmZ G dd deejeZG dd	 d	eZee dS )
zI Defines a dummy socket implementing (part of) the zmq.Socket interface.     N)Queue)	HasTraitsInstanceInt)with_metaclassc               @   s8   e Zd ZejdddZejdddZedd	 Zd
S )	SocketABCr   TFc             C   s   t d S )N)NotImplementedError)selfflagscopytrack r   9lib/python3.7/site-packages/ipykernel/inprocess/socket.pyrecv_multipart   s    zSocketABC.recv_multipartc             C   s   t d S )N)r   )r	   	msg_partsr
   r   r   r   r   r   send_multipart   s    zSocketABC.send_multipartc             C   s*   |t k	rtjdtdd tj| | d S )Nz6SocketABC is deprecated since ipykernel version 4.5.0.   )
stacklevel)DummySocketwarningswarnDeprecationWarningabcABCMetaregister)clsZ	other_clsr   r   r   r       s    
zSocketABC.registerN)r   TF)r   TF)	__name__
__module____qualname__r   abstractmethodr   r   classmethodr   r   r   r   r   r      s
   r   c               @   sH   e Zd ZdZeedZedZee	j
Zdd Zddd	Zdd
dZdS )r   zA A dummy socket implementing (part of) the zmq.Socket interface. r   r   c             C   s
   t j S )N)zmqContextinstance)r	   r   r   r   _context_default1   s    zDummySocket._context_defaultTFc             C   s
   | j  S )N)queueZ
get_nowait)r	   r
   r   r   r   r   r   r   8   s    zDummySocket.recv_multipartc             C   s.   t ttj|}| j| |  jd7  _d S )N   )listmapr!   ZMessager%   Z
put_nowaitmessage_sent)r	   r   r
   r   r   r   r   r   r   ;   s    zDummySocket.send_multipartN)r   TF)r   TF)r   r   r   __doc__r   r   r%   r   r)   r!   r"   contextr$   r   r   r   r   r   r   r   +   s   


r   )r*   r   r   r%   r   ImportErrorr!   Z	traitletsr   r   r   Zipython_genutils.py3compatr   r   objectr   r   r   r   r   r   r   <module>   s   