???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ž
­ÿfQ  c               @   s  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z e e e e e e e f ƒ Z y e Wn e k
 ræ i  Z Yn Xd d „  Z Gd d „  d e ƒ Z e e e f Z d d	 „  Z d
 d „  Z  d d „  Z! d d „  Z" d e# d d „ Z$ d e# d d „ Z% e% Z& d e' e# e# d d „ Z( Gd d „  d ƒ Z) Gd d „  d e) ƒ Z* d d „  Z+ e# e' d d „ Z, e j- d  k rd d l. Z. Gd! d" „  d" ƒ Z/ Gd# d$ „  d$ e) ƒ Z0 n  d S(%   u   Basic infrastructure for asynchronous socket service clients and servers.

There are only two ways to have a program on a single processor do "more
than one thing at a time".  Multi-threaded programming is the simplest and
most popular way to do it, but there is another very different technique,
that lets you have nearly all the advantages of multi-threading, without
actually using multiple threads. it's really only practical if your program
is largely I/O bound. If your program is CPU bound, then pre-emptive
scheduled threads are probably what you really need. Network servers are
rarely CPU-bound, however.

If your operating system supports the select() system call in its I/O
library (and nearly all do), then you can use it to juggle multiple
communication channels at once; doing other work while your I/O is taking
place in the "background."  Although this strategy can seem strange and
complex, especially at first, it is in many ways easier to understand and
control than multi-threaded programming. The module documented here solves
many of the difficult problems for you, making the task of building
sophisticated high-performance network servers and clients a snap.
i    N(   u   EALREADYu   EINPROGRESSu   EWOULDBLOCKu
   ECONNRESETu   EINVALu   ENOTCONNu	   ESHUTDOWNu   EISCONNu   EBADFu   ECONNABORTEDu   EPIPEu   EAGAINu	   errorcodec             C   sO   y t  j |  ƒ SWn7 t t t f k
 rJ |  t k r> t |  Sd |  SYn Xd  S(   Nu   Unknown error %s(   u   osu   strerroru
   ValueErroru   OverflowErroru	   NameErroru	   errorcode(   u   err(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu	   _strerrorD   s    u	   _strerrorc             B   s   |  Ee  Z d  Z d S(   u   ExitNowN(   u   __name__u
   __module__u   __qualname__(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   ExitNowL   s   u   ExitNowc             C   s;   y |  j  ƒ  Wn& t k
 r% ‚  Yn |  j ƒ  Yn Xd  S(   N(   u   handle_read_eventu   _reraised_exceptionsu   handle_error(   u   obj(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   readQ   s    u   readc             C   s;   y |  j  ƒ  Wn& t k
 r% ‚  Yn |  j ƒ  Yn Xd  S(   N(   u   handle_write_eventu   _reraised_exceptionsu   handle_error(   u   obj(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   writeY   s    u   writec             C   s;   y |  j  ƒ  Wn& t k
 r% ‚  Yn |  j ƒ  Yn Xd  S(   N(   u   handle_expt_eventu   _reraised_exceptionsu   handle_error(   u   obj(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu
   _exceptiona   s    u
   _exceptionc             C   sø   yz | t  j @r |  j ƒ  n  | t  j @r7 |  j ƒ  n  | t  j @rQ |  j ƒ  n  | t  j t  j Bt  j	 B@ry |  j
 ƒ  n  Wnw t j k
 rÎ } z/ | j d t k r² |  j ƒ  n
 |  j
 ƒ  WYd  d  } ~ Xn& t k
 râ ‚  Yn |  j ƒ  Yn Xd  S(   Ni    (   u   selectu   POLLINu   handle_read_eventu   POLLOUTu   handle_write_eventu   POLLPRIu   handle_expt_eventu   POLLHUPu   POLLERRu   POLLNVALu   handle_closeu   socketu   erroru   argsu   _DISCONNECTEDu   handle_erroru   _reraised_exceptions(   u   obju   flagsu   e(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu	   readwritei   s"    u	   readwriteg        c       	      C   së  | d  k r t } n  | rçg  } g  } g  } xŠ t | j ƒ  ƒ D]v \ } } | j ƒ  } | j ƒ  } | rz | j | ƒ n  | rš | j rš | j | ƒ n  | s¦ | r@ | j | ƒ q@ q@ Wg  | k oÜ | k oÜ | k n rò t j	 |  ƒ d  Sy% t
 j
 | | | |  ƒ \ } } } Wn t k
 r/d  SYn Xx9 | D]1 } | j | ƒ } | d  k r^q7n  t | ƒ q7Wx9 | D]1 } | j | ƒ } | d  k ršqsn  t | ƒ qsWx< | D]1 } | j | ƒ } | d  k rÖq¯n  t | ƒ q¯Wn  d  S(   N(   u   Noneu
   socket_mapu   listu   itemsu   readableu   writableu   appendu	   acceptingu   timeu   sleepu   selectu   InterruptedErroru   getu   readu   writeu
   _exception(	   u   timeoutu   mapu   ru   wu   eu   fdu   obju   is_ru   is_w(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   poll}   sJ    	  '%	u   pollc             C   sK  | d  k r t } n  |  d  k	 r4 t |  d ƒ }  n  t j ƒ  } | rGxˆ t | j ƒ  ƒ D]t \ } } d } | j ƒ  rŽ | t j t j	 BO} n  | j
 ƒ  r´ | j r´ | t j O} n  | rY | j | | ƒ qY qY Wy | j |  ƒ } Wn t k
 rþ g  } Yn XxE | D]: \ } } | j | ƒ } | d  k r3qn  t | | ƒ qWn  d  S(   Niè  i    (   u   Noneu
   socket_mapu   intu   selectu   pollu   listu   itemsu   readableu   POLLINu   POLLPRIu   writableu	   acceptingu   POLLOUTu   registeru   InterruptedErroru   getu	   readwrite(   u   timeoutu   mapu   pollsteru   fdu   obju   flagsu   r(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   poll2§   s.    	u   poll2g      >@c             C   s–   | d  k r t } n  | r3 t t d ƒ r3 t } n t } | d  k rb xJ | r^ | |  | ƒ qH Wn0 x- | r‘ | d k r‘ | |  | ƒ | d } qe Wd  S(   Nu   polli    i   (   u   Noneu
   socket_mapu   hasattru   selectu   poll2u   poll(   u   timeoutu   use_pollu   mapu   countu   poll_fun(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   loopÅ   s    			u   loopc             B   sß  |  Ee  Z d  Z dB Z dB Z dB Z dB Z dB Z dA Z
 e d g ƒ Z dA dA d d „ Z d d „  Z e Z dA d d „ Z dA d d	 „ Z e j e j d
 d „ Z dA d d „ Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d  d! „  Z  d" d# „  Z! d$ d% „  Z" d& d' d( „ Z# d) d* „  Z$ d+ d, „  Z% d- d. „  Z& d/ d0 „  Z' d1 d2 „  Z( d3 d4 „  Z) d5 d6 „  Z* d7 d8 „  Z+ d9 d: „  Z, d; d< „  Z- d= d> „  Z. d? d@ „  Z/ dA S(C   u
   dispatcheru   warningc             C   sÙ   | d  k r t |  _ n	 | |  _ d  |  _ | rÌ | j d ƒ |  j | | ƒ d |  _ y | j ƒ  |  _	 WqÕ t
 j k
 rÈ } z: | j d t t f k r¦ d |  _ n |  j | ƒ ‚  WYd  d  } ~ XqÕ Xn	 d  |  _
 d  S(   Ni    TF(   u   Noneu
   socket_mapu   _mapu   _filenou   setblockingu
   set_socketu   Trueu	   connectedu   getpeernameu   addru   socketu   erroru   argsu   ENOTCONNu   EINVALu   Falseu   del_channel(   u   selfu   socku   mapu   err(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   __init__á   s     			u   dispatcher.__init__c             C   sÊ   |  j  j d |  j  j g } |  j r? |  j r? | j d ƒ n |  j rX | j d ƒ n  |  j d  k	 r­ y | j d |  j ƒ Wq­ t k
 r© | j t	 |  j ƒ ƒ Yq­ Xn  d d j
 | ƒ t |  ƒ f S(   Nu   .u	   listeningu	   connectedu   %s:%du   <%s at %#x>u    (   u	   __class__u
   __module__u   __name__u	   acceptingu   addru   appendu	   connectedu   Noneu	   TypeErroru   repru   joinu   id(   u   selfu   status(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   __repr__  s    	u   dispatcher.__repr__c             C   s)   | d  k r |  j } n  |  | |  j <d  S(   N(   u   Noneu   _mapu   _fileno(   u   selfu   map(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   add_channel  s    u   dispatcher.add_channelc             C   sD   |  j  } | d  k r! |  j } n  | | k r7 | | =n  d  |  _  d  S(   N(   u   _filenou   Noneu   _map(   u   selfu   mapu   fd(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   del_channel  s    	
u   dispatcher.del_channelc             C   s?   | | f |  _  t j | | ƒ } | j d ƒ |  j | ƒ d  S(   Ni    (   u   family_and_typeu   socketu   setblockingu
   set_socket(   u   selfu   familyu   typeu   sock(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   create_socket  s    u   dispatcher.create_socketc             C   s)   | |  _  | j ƒ  |  _ |  j | ƒ d  S(   N(   u   socketu   filenou   _filenou   add_channel(   u   selfu   socku   map(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu
   set_socket%  s    	u   dispatcher.set_socketc             C   sU   y9 |  j  j t  j t  j |  j  j t  j t  j ƒ d Bƒ Wn t  j k
 rP Yn Xd  S(   Ni   (   u   socketu
   setsockoptu
   SOL_SOCKETu   SO_REUSEADDRu
   getsockoptu   error(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   set_reuse_addr+  s    	u   dispatcher.set_reuse_addrc             C   s   d S(   NT(   u   True(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   readable<  s    u   dispatcher.readablec             C   s   d S(   NT(   u   True(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   writable?  s    u   dispatcher.writablec             C   s=   d |  _ t j d k r- | d k r- d } n  |  j j | ƒ S(   Nu   nti   T(   u   Trueu	   acceptingu   osu   nameu   socketu   listen(   u   selfu   num(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   listenF  s    		u   dispatcher.listenc             C   s   | |  _  |  j j | ƒ S(   N(   u   addru   socketu   bind(   u   selfu   addr(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   bindL  s    	u   dispatcher.bindc             C   s£   d |  _ d |  _ |  j j | ƒ } | t t t f k sT | t	 k ra t
 j d k ra | |  _ d  S| d t f k r‰ | |  _ |  j ƒ  n t j | t | ƒ ‚ d  S(   Nu   ntu   cei    FT(   u   ntu   ce(   u   Falseu	   connectedu   Trueu
   connectingu   socketu
   connect_exu   EINPROGRESSu   EALREADYu   EWOULDBLOCKu   EINVALu   osu   nameu   addru   EISCONNu   handle_connect_eventu   erroru	   errorcode(   u   selfu   addressu   err(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   connectP  s    				u   dispatcher.connectc             C   sŠ   y |  j  j ƒ  \ } } Wn` t k
 r1 d  SYnU t  j k
 r{ } z( | j d t t t f k rf d  S‚  WYd  d  } ~ Xn X| | f Sd  S(   Ni    (	   u   socketu   acceptu	   TypeErroru   Noneu   erroru   argsu   EWOULDBLOCKu   ECONNABORTEDu   EAGAIN(   u   selfu   connu   addru   why(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   accept^  s    u   dispatcher.acceptc             C   s„   y |  j  j | ƒ } | SWnc t  j k
 r } z@ | j d t k rI d S| j d t k rj |  j ƒ  d S‚  WYd  d  } ~ Xn Xd  S(   Ni    (   u   socketu   sendu   erroru   argsu   EWOULDBLOCKu   _DISCONNECTEDu   handle_close(   u   selfu   datau   resultu   why(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   sendl  s    
u   dispatcher.sendc             C   s   y. |  j  j | ƒ } | s) |  j ƒ  d S| SWnL t  j k
 r| } z) | j d t k rg |  j ƒ  d S‚  WYd  d  } ~ Xn Xd  S(   Ns    i    (   u   socketu   recvu   handle_closeu   erroru   argsu   _DISCONNECTED(   u   selfu   buffer_sizeu   datau   why(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   recvy  s    

u   dispatcher.recvc             C   s„   d |  _ d |  _ d |  _ |  j ƒ  y |  j j ƒ  WnG t j k
 r } z$ | j d t	 t
 f k rm ‚  n  WYd  d  } ~ Xn Xd  S(   Ni    F(   u   Falseu	   connectedu	   acceptingu
   connectingu   del_channelu   socketu   closeu   erroru   argsu   ENOTCONNu   EBADF(   u   selfu   why(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   close‹  s    			
u   dispatcher.closec             C   sƒ   y t  |  j | ƒ } Wn. t k
 rF t d |  j j | f ƒ ‚ Yn9 Xd i |  j j d 6| d 6} t j | t d d ƒ| Sd  S(   Nu!   %s instance has no attribute '%s'uA   %(me)s.%(attr)s is deprecated; use %(me)s.socket.%(attr)s insteadu   meu   attru
   stackleveli   (   u   getattru   socketu   AttributeErroru	   __class__u   __name__u   warningsu   warnu   DeprecationWarning(   u   selfu   attru   retattru   msg(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   __getattr__˜  s    u   dispatcher.__getattr__c             C   s   t  j j d t | ƒ ƒ d  S(   Nu   log: %s
(   u   sysu   stderru   writeu   str(   u   selfu   message(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   log¨  s    u   dispatcher.logu   infoc             C   s*   | |  j  k r& t d | | f ƒ n  d  S(   Nu   %s: %s(   u   ignore_log_typesu   print(   u   selfu   messageu   type(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   log_info«  s    u   dispatcher.log_infoc             C   sP   |  j  r |  j ƒ  n6 |  j sB |  j r5 |  j ƒ  n  |  j ƒ  n
 |  j ƒ  d  S(   N(   u	   acceptingu   handle_acceptu	   connectedu
   connectingu   handle_connect_eventu   handle_read(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_read_event¯  s    			u   dispatcher.handle_read_eventc             C   sb   |  j  j t  j t  j ƒ } | d k rB t  j | t | ƒ ƒ ‚ n  |  j ƒ  d |  _ d |  _
 d  S(   Ni    TF(   u   socketu
   getsockoptu
   SOL_SOCKETu   SO_ERRORu   erroru	   _strerroru   handle_connectu   Trueu	   connectedu   Falseu
   connecting(   u   selfu   err(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_connect_event»  s    
	u   dispatcher.handle_connect_eventc             C   s=   |  j  r d  S|  j s/ |  j r/ |  j ƒ  q/ n  |  j ƒ  d  S(   N(   u	   acceptingu	   connectedu
   connectingu   handle_connect_eventu   handle_write(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_write_eventÃ  s    			u   dispatcher.handle_write_eventc             C   sB   |  j  j t  j t  j ƒ } | d k r4 |  j ƒ  n
 |  j ƒ  d  S(   Ni    (   u   socketu
   getsockoptu
   SOL_SOCKETu   SO_ERRORu   handle_closeu   handle_expt(   u   selfu   err(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_expt_eventÎ  s    u   dispatcher.handle_expt_eventc             C   sn   t  ƒ  \ } } } } y t |  ƒ } Wn d t |  ƒ } Yn X|  j d | | | | f d ƒ |  j ƒ  d  S(   Nu)   <__repr__(self) failed for object at %0x>u:   uncaptured python exception, closing channel %s (%s:%s %s)u   error(   u   compact_tracebacku   repru   idu   log_infou   handle_close(   u   selfu   nilu   tu   vu   tbinfou	   self_repr(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_errorÝ  s    u   dispatcher.handle_errorc             C   s   |  j  d d ƒ d  S(   Nu!   unhandled incoming priority eventu   warning(   u   log_info(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_exptñ  s    u   dispatcher.handle_exptc             C   s   |  j  d d ƒ d  S(   Nu   unhandled read eventu   warning(   u   log_info(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_readô  s    u   dispatcher.handle_readc             C   s   |  j  d d ƒ d  S(   Nu   unhandled write eventu   warning(   u   log_info(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_write÷  s    u   dispatcher.handle_writec             C   s   |  j  d d ƒ d  S(   Nu   unhandled connect eventu   warning(   u   log_info(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_connectú  s    u   dispatcher.handle_connectc             C   s,   |  j  ƒ  } | d  k	 r( |  j | Œ  n  d  S(   N(   u   acceptu   Noneu   handle_accepted(   u   selfu   pair(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_acceptý  s    u   dispatcher.handle_acceptc             C   s   | j  ƒ  |  j d d ƒ d  S(   Nu   unhandled accepted eventu   warning(   u   closeu   log_info(   u   selfu   socku   addr(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_accepted  s    
u   dispatcher.handle_acceptedc             C   s   |  j  d d ƒ |  j ƒ  d  S(   Nu   unhandled close eventu   warning(   u   log_infou   close(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_close  s    u   dispatcher.handle_closeNF(0   u   __name__u
   __module__u   __qualname__u   Falseu   debugu	   connectedu	   acceptingu
   connectingu   closingu   Noneu   addru	   frozensetu   ignore_log_typesu   __init__u   __repr__u   __str__u   add_channelu   del_channelu   socketu   AF_INETu   SOCK_STREAMu   create_socketu
   set_socketu   set_reuse_addru   readableu   writableu   listenu   bindu   connectu   acceptu   sendu   recvu   closeu   __getattr__u   logu   log_infou   handle_read_eventu   handle_connect_eventu   handle_write_eventu   handle_expt_eventu   handle_erroru   handle_exptu   handle_readu   handle_writeu   handle_connectu   handle_acceptu   handle_acceptedu   handle_close(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu
   dispatcher×   sN    	u
   dispatcherc             B   sV   |  Ee  Z d  Z d d d d „ Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d S(   u   dispatcher_with_sendc             C   s    t  j |  | | ƒ d |  _ d  S(   Ns    (   u
   dispatcheru   __init__u
   out_buffer(   u   selfu   socku   map(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   __init__  s    u   dispatcher_with_send.__init__c             C   s?   d } t  j |  |  j d  d … ƒ } |  j | d  … |  _ d  S(   Ni    i   (   u
   dispatcheru   sendu
   out_buffer(   u   selfu   num_sent(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   initiate_send  s    u"   dispatcher_with_send.initiate_sendc             C   s   |  j  ƒ  d  S(   N(   u   initiate_send(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   handle_write  s    u!   dispatcher_with_send.handle_writec             C   s   |  j  p t |  j ƒ S(   N(   u	   connectedu   lenu
   out_buffer(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   writable  s    u   dispatcher_with_send.writablec             C   sA   |  j  r# |  j d t | ƒ ƒ n  |  j | |  _ |  j ƒ  d  S(   Nu
   sending %s(   u   debugu   log_infou   repru
   out_bufferu   initiate_send(   u   selfu   data(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   send   s    	u   dispatcher_with_send.sendN(	   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   initiate_sendu   handle_writeu   writableu   send(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   dispatcher_with_send  s
   u   dispatcher_with_sendc              C   sÂ   t  j ƒ  \ }  } } g  } | s0 t d ƒ ‚ n  xD | rv | j | j j j | j j j t | j	 ƒ f ƒ | j
 } q3 W~ | d \ } } } d j d d „  | Dƒ ƒ } | | | f |  | | f S(   Nu   traceback does not existi   u    c             S   s   g  |  ] } d  | ‘ q S(   u
   [%s|%s|%s](    (   u   .0u   x(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu
   <listcomp>;  s   	 u%   compact_traceback.<locals>.<listcomp>iÿÿÿÿ(   u   sysu   exc_infou   AssertionErroru   appendu   tb_frameu   f_codeu   co_filenameu   co_nameu   stru	   tb_linenou   tb_nextu   join(   u   tu   vu   tbu   tbinfou   fileu   functionu   lineu   info(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   compact_traceback*  s    	u   compact_tracebackc             C   s¿   |  d  k r t }  n  x™ t |  j ƒ  ƒ D]… } y | j ƒ  Wq( t k
 r… } z' | j d t k rg n | ss ‚  n  WYd  d  } ~ Xq( t k
 r™ ‚  Yq( | s¨ ‚  n  Yq( Xq( W|  j	 ƒ  d  S(   Ni    (
   u   Noneu
   socket_mapu   listu   valuesu   closeu   OSErroru   argsu   EBADFu   _reraised_exceptionsu   clear(   u   mapu
   ignore_allu   x(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu	   close_all>  s     	u	   close_allu   posixc             B   sk   |  Ee  Z d  Z d d „  Z d d „  Z d d „  Z d d d „ Z e Z e Z	 d	 d
 „  Z
 d d „  Z d S(   u   file_wrapperc             C   s   t  j | ƒ |  _ d  S(   N(   u   osu   dupu   fd(   u   selfu   fd(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   __init__e  s    u   file_wrapper.__init__c             G   s   t  j |  j | Œ S(   N(   u   osu   readu   fd(   u   selfu   args(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   recvh  s    u   file_wrapper.recvc             G   s   t  j |  j | Œ S(   N(   u   osu   writeu   fd(   u   selfu   args(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   sendk  s    u   file_wrapper.sendc             C   s9   | t  j k r) | t  j k r) | r) d St d ƒ ‚ d  S(   Ni    u-   Only asyncore specific behaviour implemented.(   u   socketu
   SOL_SOCKETu   SO_ERRORu   NotImplementedError(   u   selfu   levelu   optnameu   buflen(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu
   getsockoptn  s
    u   file_wrapper.getsockoptc             C   s   t  j |  j ƒ d  S(   N(   u   osu   closeu   fd(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   closey  s    u   file_wrapper.closec             C   s   |  j  S(   N(   u   fd(   u   self(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   fileno|  s    u   file_wrapper.filenoN(   u   __name__u
   __module__u   __qualname__u   __init__u   recvu   sendu   Noneu
   getsockoptu   readu   writeu   closeu   fileno(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   file_wrapper`  s   u   file_wrapperc             B   s/   |  Ee  Z d  Z d d d „ Z d d „  Z d S(   u   file_dispatcherc             C   s   t  j |  d  | ƒ d |  _ y | j ƒ  } Wn t k
 r@ Yn X|  j | ƒ t j | t j	 d ƒ } | t
 j B} t j | t j | ƒ d  S(   Ni    T(   u
   dispatcheru   __init__u   Noneu   Trueu	   connectedu   filenou   AttributeErroru   set_fileu   fcntlu   F_GETFLu   osu
   O_NONBLOCKu   F_SETFL(   u   selfu   fdu   mapu   flags(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   __init__  s    	u   file_dispatcher.__init__c             C   s/   t  | ƒ |  _ |  j j ƒ  |  _ |  j ƒ  d  S(   N(   u   file_wrapperu   socketu   filenou   _filenou   add_channel(   u   selfu   fd(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   set_fileŽ  s    u   file_dispatcher.set_fileN(   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   set_file(   u
   __locals__(    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   file_dispatcher  s   u   file_dispatcher(1   u   __doc__u   selectu   socketu   sysu   timeu   warningsu   osu   errnou   EALREADYu   EINPROGRESSu   EWOULDBLOCKu
   ECONNRESETu   EINVALu   ENOTCONNu	   ESHUTDOWNu   EISCONNu   EBADFu   ECONNABORTEDu   EPIPEu   EAGAINu	   errorcodeu	   frozensetu   _DISCONNECTEDu
   socket_mapu	   NameErroru	   _strerroru	   Exceptionu   ExitNowu   KeyboardInterruptu
   SystemExitu   _reraised_exceptionsu   readu   writeu
   _exceptionu	   readwriteu   Noneu   pollu   poll2u   poll3u   Falseu   loopu
   dispatcheru   dispatcher_with_sendu   compact_tracebacku	   close_allu   nameu   fcntlu   file_wrapperu   file_dispatcher(    (    (    u-   /opt/alt/python33/lib64/python3.3/asyncore.pyu   <module>/   sB   X*ÿ 9