³ò
ô=£Cc           @   sb   d  d k  Z  d  d k l Z d  d k Td d d „  ƒ  YZ d  d k Z d e i f d „  ƒ  YZ d S(	   iÿÿÿÿN(   t   bttime(   t   *t   Nodec           B   sŒ   e  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 d „  Z d „  Z RS(   s   encapsulate contact infoc         C   sB   d |  _  d |  _ t |  _ d |  _ |  _ |  _ t ƒ  |  _ d  S(   Ni    t    (	   t   failst   lastSeent   Truet   invalidt   idt   hostt   portt   timet   age(   t   self(    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __init__   s
    			c         C   s^   | |  _  t i | ƒ |  _ | |  _ | |  _ h  |  i  d <|  i d <|  i d <|  _ |  S(   NR   R
   R	   (   R   t   khasht   intifyt   numR	   R
   t   _senderDict(   R   R   R	   R
   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   init   s    			-c         C   sa   | |  _  | d |  _ t i |  i ƒ |  _ | d |  _ | d |  _ | i d |  i ƒ |  _ |  S(   NR   R
   R	   R   (	   R   R   R   R   R   R
   R	   t   getR   (   R   t   dict(    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   initWithDict    s    	c         C   s"   t  ƒ  |  _ d |  _ t |  _ d  S(   Ni    (   R   R   R   t   FalseR   (   R   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   updateLastSeen)   s    	c         C   s   |  i  d |  _  |  i  S(   Ni   (   R   (   R   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt	   msgFailed.   s    c         C   s   |  i  S(   N(   R   (   R   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt
   senderDict2   s    c         C   s   |  i  i ƒ  S(   N(   R   t   __hash__(   R   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyR   5   s    c         C   s*   d |  i  i d ƒ d  |  i |  i f f S(   Ns   >node <%s> %s<t   base64i   (   R   t   encodeR	   R
   (   R   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __repr__8   s    c         C   s-   t  | ƒ t j o | i } n |  i | j  S(   N(   t   typet   InstanceTypeR   (   R   t   a(    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __lt__<   s    c         C   s-   t  | ƒ t j o | i } n |  i | j S(   N(   R   R    R   (   R   R!   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __le__@   s    c         C   s-   t  | ƒ t j o | i } n |  i | j S(   N(   R   R    R   (   R   R!   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __gt__D   s    c         C   s-   t  | ƒ t j o | i } n |  i | j S(   N(   R   R    R   (   R   R!   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __ge__H   s    c         C   s-   t  | ƒ t j o | i } n |  i | j S(   N(   R   R    R   (   R   R!   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __eq__L   s    c         C   s-   t  | ƒ t j o | i } n |  i | j S(   N(   R   R    R   (   R   R!   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   __ne__P   s    (   t   __name__t
   __module__t   __doc__R   R   R   R   R   R   R   R   R"   R#   R$   R%   R&   R'   (    (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyR      s   														t   TestNodec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s%   t  ƒ  i t i ƒ  d d ƒ |  _ d  S(   Nt	   localhostiÒ  (   R   R   R   t   newIDt   node(   R   (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   setUpY   s    c         C   s7   |  i  i } |  i  i ƒ  | |  i  i j  p t ‚ d  S(   N(   R.   R   R   t   AssertionError(   R   t   t(    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyt   testUpdateLastSeen[   s    (   R(   R)   R/   R2   (    (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pyR+   X   s   	(    (	   R   t   BitTorrent.platformR    R   t   typesR   t   unittestt   TestCaseR+   (    (    (    sR   /afs/sipb.mit.edu/project/outland/src/BitTorrent/BitTorrent-4.2.2/khashmir/node.pys   <module>   s
   
G