ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
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