Your IP : 216.73.216.213
�D�Z� � @ sn d d l Z d d d g Z d d d d d d d d �Z d d d d d d � Z Gd d � d e j � Z d S)
� N�open_connection�open_unix_connection�StreamReader�loop�parserc
� s� | d k r t j � } t d | d | � } t j | d | �� | j � f d d � | | | � Id H\ } } t j | � | | � } | | f S)N�limitr c s � S)N� r )�protocolr �@/opt/alt/python35/lib/python3.5/site-packages/aioredis/stream.py�<lambda> s z!open_connection.<locals>.<lambda>)�asyncio�get_event_loopr �StreamReaderProtocolZcreate_connection�StreamWriter)
�hostZportr r r �kwds�reader� transport�_�writerr )r r
r
s )c � s� | d k r t j � } t d | d | � } t j | d | �� | j � f d d � | | � Id H\ } } t j | � | | � } | | f S)Nr r c s � S)Nr r )r r r
r ! s z&open_unix_connection.<locals>.<lambda>)r r
r r Zcreate_unix_connectionr ) Zaddressr r r r r r r r r )r r
r s &c @ sd e Z d Z d Z d Z d d � Z d d � Z d d � Z d d
� Z e Z e Z
e Z e Z d S)r a
Override the official StreamReader to address the
following issue: http://bugs.python.org/issue30861
Also it leverages to get rid of the dobule buffer and
get rid of one coroutine step. Data flows from the buffer
to the Redis parser directly.
Nc C s9 | | _ | j r5 | j j | j � | j d d � =d S)N)�_parser�_buffer�feed)�selfr r r r
�
set_parser1 s zStreamReader.set_parserc C sK | s
d S| j d k r- | j j | � d S| j j | � | j � d S)N)r r �extendr Z_wakeup_waiter)r �datar r r
� feed_data7 s zStreamReader.feed_datac � sX xQ | j j � } | d k r"