a
    $Fwj  ã                   @  sX   d dl mZ d dlmZmZ d dlmZ ddlmZ G dd„ deƒZ	G dd	„ d	e	ƒZ
d
S )é    )Úannotations)ÚABCÚabstractmethod)ÚIterableé   )ÚTickc                   @  s"   e Zd ZdZeddœdd„ƒZdS )ÚTickProviderz0Provider contract for real-time or replay feeds.úIterable[Tick]©Úreturnc                 C  s   t ‚d S ©N)ÚNotImplementedError©Úself© r   ú:/home/opc/hanz-radar/runtime/src/hanz_realtime/provider.pyÚstream   s    zTickProvider.streamN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   	   s   r   c                   @  s*   e Zd Zdddœdd„Zddœdd„Zd	S )
ÚReplayProviderr	   ÚNone)Úticksr   c                 C  s   t |ƒ| _d S r   )ÚlistÚ_ticks)r   r   r   r   r   Ú__init__   s    zReplayProvider.__init__r
   c                 c  s   | j E d H  d S r   )r   r   r   r   r   r      s    zReplayProvider.streamN)r   r   r   r   r   r   r   r   r   r      s   r   N)Ú
__future__r   Úabcr   r   Úcollections.abcr   Úmodelsr   r   r   r   r   r   r   Ú<module>   s
   