N
u9c       s      k  Z   k Z  k Z 2 d  e i f d     YZ  d f  d     YZ  d f  d     YZ k Z h  Z d   Z	 d   Z
 d S(	   s
   async_chatc      s   2 d  Z  4 8 d Z 9 d Z ; e d  Z A d   Z H d   Z P d   Z  d   Z  d   Z	  d   Z
  d	   Z  d
   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d Z  d   Z  d   Z RS(   s   This is an abstract class.  You must derive from this class, and add
	the two methods collect_incoming_data() and found_terminator()i   c    sD   ; < d |  _ = d |  _ > t   |  _ ? t i i |  |  d  S(   Ns    (	   s   selfs   ac_in_buffers   ac_out_buffers   fifos   producer_fifos   asyncores
   dispatchers   __init__s   conn(   s   selfs   conns,   /usr/lib/python1.5/site-packages/asynchat.pys   __init__; s   c    s6   A B C | t j o D d |  _ n F | |  _ d S(   sF   Set the input delimiter.  Can be a fixed string of any length, or Nones    N(   s   terms   Nones   selfs
   terminator(   s   selfs   terms,   /usr/lib/python1.5/site-packages/asynchat.pys   set_terminatorA s   c    s   H I |  i Sd  S(   N(   s   selfs
   terminator(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   get_terminatorH s   c    s  P R y S |  i |  i  } WnJ T t i j
 o8 } U k } V |  i | i	 | i
 | i  W d  Sn XY |  i | |  _ ` x7` |  i o)a |  i   } b t |  } k | o l t i |  i |  } m | d j o? o |  i |  i |   p |  i | | |  _ r |  i   ns u t |  i |  } v | o4 x |  i |  i |   y |  i | |  _ z Pn  } |  i |  i  ~ d |  _ n   |  i |  i   d |  _ q Wd  S(   Ni   s    (   s   selfs   recvs   ac_in_buffer_sizes   datas   sockets   errors   whys   syss   handle_errors   exc_types	   exc_values   exc_tracebacks   ac_in_buffers   get_terminators
   terminators   lens   terminator_lens   strings   finds   indexs   collect_incoming_datas   found_terminators   find_prefix_at_end(   s   selfs   datas   whys   syss
   terminators   terminator_lens   indexs,   /usr/lib/python1.5/site-packages/asynchat.pys   handle_readP s4   	 	

c    s     |  i   d  S(   N(   s   selfs   initiate_send(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   handle_write s   c    s     |  i   d  S(   N(   s   selfs   close(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   handle_close s   c    s-     |  i i t |    |  i   d  S(   N(   s   selfs   producer_fifos   pushs   simple_producers   datas   initiate_send(   s   selfs   datas,   /usr/lib/python1.5/site-packages/asynchat.pys   push s   c    s'     |  i i |   |  i   d  S(   N(   s   selfs   producer_fifos   pushs   producers   initiate_send(   s   selfs   producers,   /usr/lib/python1.5/site-packages/asynchat.pys   push_with_producer s   c    s      t  |  i  |  i j Sd  S(   N(   s   lens   selfs   ac_in_buffers   ac_in_buffer_size(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   readable s   c    s2     t  |  i  p t  |  i  p |  i Sd  S(   N(   s   lens   selfs   ac_out_buffers   producer_fifos	   connected(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   writable s   c    s     |  i i t  d  S(   N(   s   selfs   producer_fifos   pushs   None(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   close_when_done s   c    s     x  d o  t  |  i  o  |  i i   }  | t j o:  |  i o!  |  i i    |  i   n  d  Sn  | i	   }  | o  |  i | |  _  d  Sn  |  i i   n  d  Sq	 Wd  S(   Ni   (   s   lens   selfs   producer_fifos   firsts   ps   Nones   ac_out_buffers   pops   closes   mores   data(   s   selfs   ps   datas,   /usr/lib/python1.5/site-packages/asynchat.pys   refill_buffer s    

c    s     |  i }  |  i o t |  i  | j  o  |  i   n  |  i o |  i o>  |  i |  i |   }  | o  |  i | |  _ n n d  S(   N(
   s   selfs   ac_out_buffer_sizes   obss
   _push_modes   lens   ac_out_buffers   refill_buffers	   connecteds   sends   num_sent(   s   selfs   obss   num_sents,   /usr/lib/python1.5/site-packages/asynchat.pys   initiate_send s   $
c    sK     d |  _  |  i d j  x"  |  i o  |  i i   q% Wd  S(   Ns    (   s   selfs   ac_in_buffers   ac_out_buffers   producer_fifos   pop(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   discard_buffers s
    i    c    s     | |  _ d  S(   N(   s   booleans   selfs
   _push_mode(   s   selfs   booleans,   /usr/lib/python1.5/site-packages/asynchat.pys	   push_mode s   c    s!     |  i o t |  i  Sd  S(   N(   s   selfs	   connecteds   lens   ac_out_buffer(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   writable_push s   (   s   __doc__s   ac_in_buffer_sizes   ac_out_buffer_sizes   Nones   __init__s   set_terminators   get_terminators   handle_reads   handle_writes   handle_closes   pushs   push_with_producers   readables   writables   close_when_dones   refill_buffers   initiate_sends   discard_bufferss
   _push_modes	   push_modes   writable_push(    s,   /usr/lib/python1.5/site-packages/asynchat.pys
   async_chat2 s(   			4
	s   simple_producerc      s      d d  Z   d   Z RS(   Nc    s     | |  _   | |  _ d  S(   N(   s   datas   selfs   buffer_size(   s   selfs   datas   buffer_sizes,   /usr/lib/python1.5/site-packages/asynchat.pys   __init__ s   i   c    sv     t  |  i  |  i j o4  |  i |  i  }  |  i |  i |  _  | Sn   |  i }  d |  _  | Sd  S(   Ns    (   s   lens   selfs   datas   buffer_sizes   result(   s   selfs   results,   /usr/lib/python1.5/site-packages/asynchat.pys   more s   (   s   __init__s   more(    s,   /usr/lib/python1.5/site-packages/asynchat.pys   simple_producer s   s   fifoc      sD     e  d  Z  d   Z  d   Z  d   Z  d   Z RS(   Nc    s.     | o  g  |  _  n  | |  _  d  S(   N(   s   lists   self(   s   selfs   lists,   /usr/lib/python1.5/site-packages/asynchat.pys   __init__ s   c    s     t  |  i  Sd  S(   N(   s   lens   selfs   list(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   __len__ s   c    s     |  i d Sd  S(   Ni    (   s   selfs   list(   s   selfs,   /usr/lib/python1.5/site-packages/asynchat.pys   first s   c    s     |  i i |  d  S(   N(   s   selfs   lists   appends   data(   s   selfs   datas,   /usr/lib/python1.5/site-packages/asynchat.pys   push s   c    sO     |  i o.  |  i d }  |  i d = d | f Sn  d t f Sd  S(   Ni    i   (   s   selfs   lists   results   None(   s   selfs   results,   /usr/lib/python1.5/site-packages/asynchat.pys   pop s
   (   s   Nones   __init__s   __len__s   firsts   pushs   pop(    s,   /usr/lib/python1.5/site-packages/asynchat.pys   fifo s
   c    s   t  i |   o t  |  Sn |  d } x> t d t |    d r" } d |  | d | f } qN Wt i | d  } | t |   f t  |  <| t |   f Sd  S(   Ni   i    s	   %c\(%s\)?s   $(	   s   prefix_caches   has_keys   needles   regs   ranges   lens   is   regexs   compile(   s   needles   regs   is,   /usr/lib/python1.5/site-packages/asynchat.pys   prefix_regexs    	 c    ss   t  |  \ } } t |   } | i |  t d | |   } | d j o  | | Sn "d Sd  S(   Ni    (
   s   prefix_regexs   needles   regs   lengths   lens   haystacks   lhs   searchs   maxs   result(   s   haystacks   needles   regs   lengths   lhs   results,   /usr/lib/python1.5/site-packages/asynchat.pys   find_prefix_at_ends   "N(   s   sockets   asyncores   strings
   dispatchers
   async_chats   simple_producers   fifos   regexs   prefix_caches   prefix_regexs   find_prefix_at_end(    s,   /usr/lib/python1.5/site-packages/asynchat.pys   ? s   		/		