-í
Û„?c       se     d  k  Z   d  k Z  d  k Z  d  k Z  d  k Z  d  k Z  d  k Z  d k l Z  d k	 l
 Z
 l Z  d k l Z l Z  d k l Z  d k l Z  d  k Z  d k l Z  d Z  d Z ! d	 f  d
 „  ƒ  YZ 5 d e f d „  ƒ  YZ F d e i e f d „  ƒ  YZ +d e f d „  ƒ  YZ :d e f d „  ƒ  YZ d  S(   N(   s   smac(   s	   ZRPCErrors   DisconnectedError(   s
   short_reprs   log(   s
   Marshaller(   s   trigger(   s   POSExceptions   .replyi   s   Delayc      s8   ! t  Z d  Z ' ) d „  Z . d „  Z 1 d „  Z RS(   sò   Used to delay response to client for synchronous calls

    When a synchronous call is made and the original handler returns
    without handling the call, it returns a Delay object that prevents
    the mainloop from sending a response.
    c    s+   ) * | |  _  + | |  _ , | |  _ d  S(   N(   s   msgids   selfs
   send_replys   return_error(   s   selfs   msgids
   send_replys   return_error(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys
   set_sender) s   c    s   . / |  i |  i | ƒ d  S(   N(   s   selfs
   send_replys   msgids   obj(   s   selfs   obj(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   reply. s   c    s=   1 2 t  d t i d | ƒ3 |  i |  i d | d  Œ d  S(   Ns   Error raised in delayed methods   errori    i   (   s   logs   zLOGs   ERRORs   exc_infos   selfs   return_errors   msgid(   s   selfs   exc_info(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   error1 s   (   s   __name__s
   __module__s   __doc__s
   set_senders   replys   error(    (    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   Delay! s   s   MTDelayc      s;   5 t  Z 7 d „  Z : d „  Z > d „  Z B d „  Z RS(   Nc    s   7 8 t  i ƒ  |  _ d  S(   N(   s	   threadings   Events   selfs   ready(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   __init__7 s   c    s0   : ; t  i |  | | | ƒ < |  i i ƒ  d  S(   N(   s   Delays
   set_senders   selfs   msgids
   send_replys   return_errors   readys   set(   s   selfs   msgids
   send_replys   return_error(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys
   set_sender: s   c    s*   > ? |  i i ƒ  @ t i |  | ƒ d  S(   N(   s   selfs   readys   waits   Delays   replys   obj(   s   selfs   obj(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   reply> s   c    s*   B C |  i i ƒ  D t i |  | ƒ d  S(   N(   s   selfs   readys   waits   Delays   errors   exc_info(   s   selfs   exc_info(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   errorB s   (   s   __name__s
   __module__s   __init__s
   set_senders   replys   error(    (    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   MTDelay5 s   	s
   Connectionc      sè  F t  Z d  Z q s e i i Z t e i i Z u e i i	 Z
 | d Z } d Z ‹ e d „ Z ® d „  Z ± e Z ³ e i e d „ Z ¶ d „  Z ¾ d „  Z Ã d „  Z Ç e d	 „ Z Ö d
 „  Z à d „  Z ñ d „  Z ü d „  Z $d „  Z *d d „ Z -d „  Z 3d „  Z @d „  Z Sd „  Z	 \d „  Z kd „  Z  ~d „  Z! …d „  Z" d „  Z# •d „  Z$ Ÿd „  Z% ¥d „  Z& ©d „  Z' °d d „ Z( ¹d  „  Z) æd! „  Z* íd" „  Z+ öd# d$ „ Z, RS(%   sÇ  Dispatcher for RPC on object on both sides of socket.

    The connection supports synchronous calls, which expect a return,
    and asynchronous calls, which do not.

    It uses the Marshaller class to handle encoding and decoding of
    method calls and arguments.  Marshaller uses pickle to encode
    arbitrary Python objects.  The code here doesn't ever see the wire
    format.

    A Connection is designed for use in a multithreaded application,
    where a synchronous call must block until a response is ready.

    A socket connection between a client and a server allows either
    side to invoke methods on the other side.  The processes on each
    end of the socket use a Connection object to manage communication.

    The Connection deals with decoded RPC messages.  They are
    represented as four-tuples containing: msgid, flags, method name,
    and a tuple of method arguments.

    The msgid starts at zero and is incremented by one each time a
    method call message is sent.  Each side of the connection has a
    separate msgid state.

    When one side of the connection (the client) calls a method, it
    sends a message with a new msgid.  The other side (the server),
    replies with a message that has the same msgid, the string
    ".reply" (the global variable REPLY) as the method name, and the
    actual return value in the args position.  Note that each side of
    the Connection can initiate a call, in which case it will be the
    client for that particular call.

    The protocol also supports asynchronous calls.  The client does
    not wait for a return value for an asynchronous call.  The only
    defined flag is ASYNC.  If a method call message has the ASYNC
    flag set, the server will raise an exception.

    If a method call raises an Exception, the exception is propagated
    back to the client via the REPLY message.  The client side will
    raise any exception it receives instead of returning the value to
    the caller.
    s   Z200s   Z201c    s5  ‹ Œ t  |  _  t ƒ  |  _ Ž d |  _  d |  _  t  |  _ ‘ t | t
 i ƒ o ’ d | |  _ n ” d | |  _ • |  i | | ƒ œ d |  _  t  |  _ ž |  i ƒ  Ÿ h  |  |  i <|  _ ¡ t i ƒ  |  _ ¤ t i ƒ  |  _ ¥ h  |  _ © d |  _ ª t  |  _ « |  i | ƒ ¬ |  i ƒ  d  S(   Ni    s   zrpc-conn:%s:%ds   zrpc-conn:%s(   s   Nones   selfs   objs
   Marshallers   marshals   closeds   msgids   peer_protocol_versions
   isinstances   addrs   typess	   TupleTypes	   log_labels   _Connection__super_inits   socks	   thr_asyncs   triggers   _prepare_asyncs   _filenos   _maps	   threadings   Locks
   msgid_locks	   Conditions   replies_conds   repliess   waiting_for_replys   delay_sesskeys   register_objects	   handshake(   s   selfs   socks   addrs   obj(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   __init__‹ s(   c    s!   ® ¯ d |  i i |  i f Sd  S(   Ns   <%s %s>(   s   selfs	   __class__s   __name__s   addr(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   __repr__® s   c    s&   ³ ´ t  i |  i | | d | ƒd  S(   Ns   error(   s   zLOGs   LOGs   selfs	   log_labels   levels   messages   error(   s   selfs   messages   levels   error(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   log³ s   c    sU   ¶ · |  i o ¸ d  Sn ¹ |  i i ƒ  º d |  _ » |  i ƒ  ¼ |  i ƒ  d  S(   Ni   (   s   selfs   closeds   _maps   clears   close_triggers   _Connection__super_close(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   close¶ s   c    s.   ¾ À |  i t j	 o Á |  i i ƒ  n d  S(   N(   s   selfs   triggers   Nones   close(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   close_trigger¾ s   c    s   Ã Ä Å | |  _  d S(   s4   Register obj as the true object to invoke methods onN(   s   objs   self(   s   selfs   obj(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   register_objectÃ s   c    s0   Ç Ó |  i |  _ Ô |  i | p |  i ƒ d  S(   N(   s   selfs   recv_handshakes   message_inputs   message_outputs   protos   protocol_version(   s   selfs   proto(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   handshakeÇ s   c    sš   Ö Ø |  ` Ù | |  _ Ú |  i | j o |  i j n o! Û |  i d | d t i ƒn7 Ý |  i d t	 | ƒ d t i
 ƒÞ t d | ƒ ‚ d  S(   Ns   received handshake %rs   levels   bad handshake %ss   bad handshake %r(   s   selfs   message_inputs   protos   peer_protocol_versions   oldest_protocol_versions   protocol_versions   logs   zLOGs   INFOs
   short_reprs   ERRORs	   ZRPCError(   s   selfs   proto(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   recv_handshakeÖ s   	'!#c    s®   à á æ |  i i | ƒ \ } } } } è t o6 é |  i	 d | | | t
 | ƒ f ë d t i ƒn ì | t j o í |  i | | | ƒ n ï |  i | | | | ƒ d S(   s,   Decoding an incoming message and dispatch its   recv msg: %s, %s, %s, %ss   levelN(   s   selfs   marshals   decodes   messages   msgids   flagss   names   argss	   __debug__s   logs
   short_reprs   zLOGs   TRACEs   REPLYs   handle_replys   handle_request(   s   selfs   messages   flagss   names   msgids   args(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   message_inputà s   !
"c    s˜   ñ ò t  o3 ó |  i d | | t | ƒ f ô d t i ƒn õ |  i	 i
 ƒ  ö z* ÷ | | f |  i | <ø |  i	 i ƒ  Wd  ù ú |  i	 i ƒ  Xd  S(   Ns   recv reply: %s, %s, %ss   level(   s	   __debug__s   selfs   logs   msgids   flagss
   short_reprs   argss   zLOGs   TRACEs   replies_conds   acquires   repliess	   notifyAlls   release(   s   selfs   msgids   flagss   args(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   handle_replyñ s   
c 	   s[  ü ý |  i | ƒ o/ þ d | t |  i ƒ f } ÿ t | ƒ ‚ n  t o0 |  i d | t	 | ƒ f d t i ƒn t |  i | ƒ } y9 d |  _ z | | Œ  } Wd  	
d |  _ XWn” t t f j
 o ‚  nt t j
 od } t i ƒ  } |  i d | | f t i d | ƒ| d  } |  i | | | Œ Sn X| t @o7 | t j	 o# t d	 | t	 | ƒ f ƒ ‚ n n{ t o* |  i d
 | t	 | ƒ f t i ƒ n t | t ƒ o  | i | |  i  |  i ƒ n |  i  | | ƒ  |  i! o# !|  i" |  i! ƒ "t |  _! n d  S(   Ns   Invalid method name: %s on %ss   calling %s%ss   leveli   i    s   %s() raised exception: %ss   errori   s!   async method %s returned value %ss   %s returns %s(#   s   selfs   check_methods   names   reprs   objs   msgs	   ZRPCErrors	   __debug__s   logs
   short_reprs   argss   zLOGs   DEBUGs   getattrs   meths   waiting_for_replys   rets
   SystemExits   KeyboardInterrupts	   Exceptions   syss   exc_infos   errors   INFOs   return_errors   msgids   flagss   ASYNCs   Nones
   isinstances   Delays
   set_senders
   send_replys   delay_sesskeys    _Connection__super_setSessionKey(	   s   selfs   msgids   flagss   names   argss   meths   rets   errors   msg(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   handle_requestü s@   

'
* c    sQ   $%t  i ƒ  d t j o &t  i ƒ  ‚ n '|  i d ƒ (|  i ƒ  d  S(   Ni    s   Error caught in asyncore(   s   syss   exc_infos
   SystemExits   selfs	   log_errors   close(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   handle_error$s   s   No error message suppliedc    s)   *+|  i | t i d t i ƒ  ƒd  S(   Ns   error(   s   selfs   logs   msgs   zLOGs   ERRORs   syss   exc_info(   s   selfs   msg(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   log_error*s   c    s8   -/| i d ƒ o 0t Sn 1t |  i | ƒ Sd  S(   Ns   _(   s   names
   startswiths   Nones   hasattrs   selfs   obj(   s   selfs   name(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   check_method-s   c    sË   34y" 5|  i i | d t | ƒ } Wn 6|  i i j
 oj 7y 8t | ƒ } Wn 9:d } n X;t
 d | ƒ } <|  i i | d t t
 | f ƒ } n X=|  i | ƒ >|  i ƒ  d  S(   Ni    s   <unreprable>s   Couldn't pickle return %.100s(   s   selfs   marshals   encodes   msgids   REPLYs   rets   msgs   errorss
   short_reprs   rs	   ZRPCErrors   errs   message_outputs   poll(   s   selfs   msgids   rets   rs   errs   msg(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys
   send_reply3s   ")c    s*  @A| t @o B|  i d |  ƒ Cd  Sn Dt | ƒ t i j	 o E| | f } n Gy( H|  i	 i
 | d t | | f ƒ } Wn I|  i	 i j
 oj Jy Kt | ƒ } Wn LMd } n XNt d | ƒ } O|  i	 i
 | d t t | f ƒ } n XP|  i | ƒ Q|  i ƒ  d  S(   Ns&   Asynchronous call raised exception: %si    s   <unreprable>s   Couldn't pickle error %.100s(   s   flagss   ASYNCs   selfs	   log_errors   types	   err_values   typess   InstanceTypes   err_types   marshals   encodes   msgids   REPLYs   msgs   errorss
   short_reprs   rs	   ZRPCErrors   errs   message_outputs   poll(   s   selfs   msgids   flagss   err_types	   err_values   errs   rs   msg(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   return_error@s    ()c    s4   ST|  i o U| |  _ n W|  i | ƒ d  S(   N(   s   selfs   waiting_for_replys   keys   delay_sesskeys    _Connection__super_setSessionKey(   s   selfs   key(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   setSessionKeySs   c    s½   \^|  i i ƒ  _z# `|  i } a|  i d |  _ Wd  bc|  i i ƒ  Xdt o* e|  i d | | | f ft	 i
 ƒ n g|  i i | | | | ƒ } h|  i | ƒ i| Sd  S(   Ni   s   send msg: %d, %d, %s, ...(   s   selfs
   msgid_locks   acquires   msgids   releases	   __debug__s   logs   flagss   methods   zLOGs   TRACEs   marshals   encodes   argss   bufs   message_output(   s   selfs   methods   argss   flagss   bufs   msgid(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   send_call\s   
c    sÌ   kl|  i o mt ƒ  ‚ n n|  i | | d ƒ } o|  i | ƒ \ } } pt
 | t i ƒ o> t | ƒ d j o+ t | d ƒ t i j o t | d t ƒ o s| d } t| ‚ n v| Sd  S(   Ni    i   (   s   selfs   closeds   DisconnectedErrors	   send_calls   methods   argss   msgids   waits   r_flagss   r_argss
   isinstances   typess	   TupleTypes   lens   types	   ClassTypes
   issubclasss	   Exceptions   inst(   s   selfs   methods   argss   msgids   r_argss   r_flagss   inst(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   callks   Wc    sY   ~|  i o €t ƒ  ‚ n |  i | | d ƒ } ‚t i d |  i	 ƒ ƒ| Sd  S(   Ni    f0.01(
   s   selfs   closeds   DisconnectedErrors	   send_calls   methods   argss   msgids   asyncores   polls   _map(   s   selfs   methods   argss   msgid(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   _deferred_call~s
   c    s„   …†|  i | ƒ \ } } ‡t | t i ƒ o+ t | d ƒ t i	 j o t
 | d t ƒ o Š| d } ‹| ‚ n | Sd  S(   Ni    i   (   s   selfs   waits   msgids   r_flagss   r_argss
   isinstances   typess	   TupleTypes   types	   ClassTypes
   issubclasss	   Exceptions   inst(   s   selfs   msgids   r_flagss   insts   r_args(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   _deferred_wait…s
   Dc    sG   |  i o ‘t ƒ  ‚ n ’|  i | | t ƒ “|  i ƒ  d  S(   N(   s   selfs   closeds   DisconnectedErrors	   send_calls   methods   argss   ASYNCs   poll(   s   selfs   methods   args(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   callAsyncs   c    s:   •™|  i o št ƒ  ‚ n ›|  i | | t ƒ d  S(   N(   s   selfs   closeds   DisconnectedErrors	   send_calls   methods   argss   ASYNC(   s   selfs   methods   args(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   callAsyncNoPoll•s   c    s&   Ÿ d |  _ ¡t i |  i ƒ d  S(   Ni    (   s   selfs	   thr_asyncs   ThreadedAsyncs   register_loop_callbacks	   set_async(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   _prepare_asyncŸs   c    s"   ¥¦t  ƒ  |  _  §d |  _ d  S(   Ni   (   s   triggers   selfs	   thr_async(   s   selfs   map(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   set_async¥s   c    s&   ©«|  i o ¬d Sn ®d Sd  S(   Ni   i    (   s   selfs	   thr_async(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   is_async©s   i
   c    s   °±y ²|  i i ƒ  Wn` ³t j
 oQ ´|  i i ƒ  µt ƒ  |  _ ¶| d j o ·|  i d | d ƒ n n Xd  S(   Ni    s   tryagaini   (   s   selfs   triggers   pull_triggers   OSErrors   closes   tryagains   _pull_trigger(   s   selfs   tryagain(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   _pull_trigger°s   c    sW  ¹º»t  o0 ¼|  i d | |  i ƒ  f ½d t i ƒn ¾|  i ƒ  o ¿|  i ƒ  n Ãd } Å|  i	 i
 ƒ  Æz¿ÇxµÇd oªÈ|  i o Ét ƒ  ‚ n Ê|  i i | ƒ } Ë| t j	 oR Ì|  i | =Ít  o0 Î|  i d | t | ƒ f Ïd t i ƒn Ð| Sn Ñ|  i ƒ  o Ò|  i	 i d ƒ nì Ô|  i	 i ƒ  ÕzÁ Öyo ×t  o* Ø|  i d | | f Ùd t i ƒn Út i | |  i ƒ Û| d j  o Ü| | 7} n WnH Ýt i j
 o6 } Þ|  i d	 | ßd t i ƒà|  i ƒ  n XWd
 áâ|  i	 i
 ƒ  Xq† WWd
 ãä|  i	 i ƒ  Xd
 S(   s,   Invoke asyncore mainloop and wait for reply.s   wait(%d), async=%ds   levelf0.001i   s   wait(%d): reply=%sf10.0s   wait(%d): asyncore.poll(%s)f1.0s$   Closing.  asyncore.poll() raised %s.N(   s	   __debug__s   selfs   logs   msgids   is_asyncs   zLOGs   TRACEs   _pull_triggers   delays   replies_conds   acquires   closeds   DisconnectedErrors   repliess   gets   replys   Nones
   short_reprs   waits   releases   asyncores   polls   _maps   selects   errors   errs   BLATHERs   close(   s   selfs   msgids   errs   delays   reply(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   wait¹sN   
	 


c    sP   æçèt  o é|  i d ƒ n êx" ê|  i ƒ  o ë|  i ƒ  q* Wd S(   s/   Invoke poll() until the output buffer is empty.s   flushN(   s	   __debug__s   selfs   logs   writables   poll(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   flushæs   
 c    sr   íîït  o' ð|  i d |  i ƒ  d t i ƒn ñ|  i ƒ  o ò|  i ƒ  n ôt i d |  i	 ƒ d S(   s4   Invoke asyncore mainloop to get pending message out.s   poll(), async=%ds   levelf0.0N(
   s	   __debug__s   selfs   logs   is_asyncs   zLOGs   TRACEs   _pull_triggers   asyncores   polls   _map(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   pollís   
'i    c 	   sô  ö÷øt  o' ù|  i d |  i ƒ  d t i ƒn ú|  i ƒ  o ûd Sn |  i g } } g  } x|| o |  i
 of|  i ƒ  o |  i g } n
 
g  } y( t i | | | | ƒ \ } } } WnK t i j
 o9 } | d t i j o d } qt n ‚  n Xd } | oP y |  i ƒ  Wn5 t i j
 o  ‚  n !"|  i ƒ  n Xn #| oP $y %|  i ƒ  Wn5 &t i j
 o '‚  n ()|  i ƒ  n Xn qt Wd S(   s7   Invoke mainloop until any pending messages are handled.s   pending(), async=%ds   levelNi    (   s	   __debug__s   selfs   logs   is_asyncs   zLOGs   TRACEs   _filenos   rs   r_ins   x_ins   closeds   writables   w_ins   selects   timeouts   ws   xs   errors   errs   errnos   EINTRs   handle_read_events   asyncores   ExitNows   handle_errors   handle_write_event(	   s   selfs   timeouts   errs   r_ins   x_ins   rs   ws   xs   w_in(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   pendingösD   
'		 	(	
		



(-   s   __name__s
   __module__s   __doc__s   smacs   SizedMessageAsyncConnections   __init__s   _Connection__super_inits   closes   _Connection__super_closes   setSessionKeys    _Connection__super_setSessionKeys   oldest_protocol_versions   protocol_versions   Nones   __repr__s   __str__s   zLOGs   BLATHERs   logs   close_triggers   register_objects	   handshakes   recv_handshakes   message_inputs   handle_replys   handle_requests   handle_errors	   log_errors   check_methods
   send_replys   return_errors	   send_calls   calls   _deferred_calls   _deferred_waits	   callAsyncs   callAsyncNoPolls   _prepare_asyncs	   set_asyncs   is_asyncs   _pull_triggers   waits   flushs   polls   pending(    (    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys
   ConnectionF sL   +		#	
(	

	-	s   ManagedServerConnectionc      sD   +t  Z d  Z ,-e i Z .e i Z 0d „  Z 5d „  Z RS(   s    Server-side Connection subclass.c    s<   01| |  _  2|  i | | | ƒ 3|  i i |  ƒ d  S(   N(   s   mgrs   selfs$   _ManagedServerConnection__super_inits   socks   addrs   objs   notifyConnected(   s   selfs   socks   addrs   objs   mgr(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   __init__0s   c    s7   56|  i i ƒ  7|  i i |  ƒ 8|  i ƒ  d  S(   N(   s   selfs   objs   notifyDisconnecteds   mgrs
   close_conns%   _ManagedServerConnection__super_close(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   close5s   (   s   __name__s
   __module__s   __doc__s
   Connections   __init__s$   _ManagedServerConnection__super_inits   closes%   _ManagedServerConnection__super_close(    (    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   ManagedServerConnection+s
   s   ManagedConnectionc      s¤   :t  Z d  Z ;<e i Z =e i Z ?d „  Z kd „  Z qd „  Z	 td „  Z
 €d „  Z „d „  Z ‡d „  Z ‹d „  Z ”d	 „  Z šd
 „  Z RS(   s    Client-side Connection subclass.c    s6   ?@| |  _  A|  i | | | ƒ B|  i ƒ  d  S(   N(   s   mgrs   selfs   _ManagedConnection__super_inits   socks   addrs   objs   check_mgr_async(   s   selfs   socks   addrs   objs   mgr(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   __init__?s   c    s1   kl|  i |  _ m|  i |  _ ng  |  _ d  S(   N(   s   selfs   recv_handshakes   message_inputs   queue_outputs   message_outputs   output_queue(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   handshakeks   c    s   qr|  i i | ƒ d  S(   N(   s   selfs   output_queues   appends   message(   s   selfs   message(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   queue_outputqs   c    s„   tu|  ` vt | |  i ƒ } wt i |  | ƒ x|  i | ƒ y|  i } z|  ` {x! | D{] } ||  i | ƒ qc Wd  S(   N(
   s   selfs   message_outputs   mins   protos   protocol_versions
   Connections   recv_handshakes   output_queues   queues   message(   s   selfs   protos   queues   message(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   recv_handshakets   		
 	c    s   €‚|  ` d  S(   N(   s   selfs   trigger(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   close_trigger€s   c    s
   „…d  S(   N(    (   s   selfs   map(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys	   set_async„s   c    s
   ‡‰d  S(   N(    (   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   _prepare_async‡s   c    s€   ‹Œ|  i o
 |  i i oW t o$ |  i i t j	 p t d |  i ‚ d |  _ |  i i |  _ ‘d Sn ’d Sd  S(   Ns   manager (%s) has no triggeri   i    (   s   selfs	   thr_asyncs   mgrs	   __debug__s   triggers   Nones   AssertionError(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   check_mgr_async‹s   .c    s,   ”–|  i o —d Sn ˜|  i ƒ  Sd  S(   Ni   (   s   selfs	   thr_asyncs   check_mgr_async(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   is_async”s   c    s'   š›|  i i |  ƒ œ|  i ƒ  d  S(   N(   s   selfs   mgrs
   close_conns   _ManagedConnection__super_close(   s   self(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   closešs   (   s   __name__s
   __module__s   __doc__s
   Connections   __init__s   _ManagedConnection__super_inits   closes   _ManagedConnection__super_closes	   handshakes   queue_outputs   recv_handshakes   close_triggers	   set_asyncs   _prepare_asyncs   check_mgr_asyncs   is_async(    (    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   ManagedConnection:s   ,	(   s   asyncores   errnos   selects   syss	   threadings   typess   ThreadedAsyncs   ZEO.zrpcs   smacs   ZEO.zrpc.errors	   ZRPCErrors   DisconnectedErrors   ZEO.zrpc.logs
   short_reprs   logs   ZEO.zrpc.marshals
   Marshallers   ZEO.zrpc.triggers   triggers   zLOGs   ZODBs   POSExceptions   REPLYs   ASYNCs   Delays   MTDelays   SizedMessageAsyncConnections   objects
   Connections   ManagedServerConnections   ManagedConnection(   s   ManagedServerConnections   asyncores   smacs
   Connections   MTDelays   DisconnectedErrors   REPLYs   ASYNCs   POSExceptions   typess   syss
   short_reprs   ThreadedAsyncs   logs	   threadings   errnos   Delays
   Marshallers   triggers   selects   ManagedConnections   zLOGs	   ZRPCError(    (    s;   /usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/connection.pys   ? s*   		ÿ æ