ó
ßüÚ\c           @` sq   d  d l  m Z m Z m Z d  d l m Z m Z d  d l m Z d e e ƒ f d „  ƒ  YZ	 i  Z
 d „  Z d S(   i    (   t   print_functiont   divisiont   absolute_import(   t   ABCMetat   abstractmethod(   t   with_metaclasst   Backendc           B` sb   e  Z d  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z e d „  ƒ Z	 RS(   sO   
    A communication backend, selected by a given URI scheme (e.g. 'tcp').
    c         C` s   d S(   sL   
        Get a connector object usable for connecting to addresses.
        N(    (   t   self(    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   get_connector   t    c         K` s   d S(   sJ   
        Get a listener object for the scheme-less address *loc*.
        N(    (   R   t   loct   handle_commt   deserializet   connection_args(    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   get_listener   R	   c         C` s   d S(   sš   
        Get a host name (normally an IP address) identifying the host the
        address is located on.
        *loc* is a scheme-less address.
        N(    (   R   R
   (    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   get_address_host   R	   c         C` s   d S(   s    
        Resolve the address into a canonical form.
        *loc* is a scheme-less address.

        Simple implementations may return *loc* unchanged.
        N(    (   R   R
   (    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   resolve_address%   R	   c         C` s
   t  ‚ d S(   sŽ   
        Get the (host, port) tuple of the scheme-less address *loc*.
        This should only be implemented by IP-based transports.
        N(   t   NotImplementedError(   R   R
   (    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   get_address_host_port.   s    c         C` s   d S(   sN   
        Get the local listening address suitable for reaching *loc*.
        N(    (   R   R
   (    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   get_local_address_for5   R	   (
   t   __name__t
   __module__t   __doc__R   R   R   R   R   R   R   (    (    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyR      s   		c         C` s>   t  j |  ƒ } | d k r: t d |  t t  ƒ f ƒ ‚ n  | S(   s:   
    Get the Backend instance for the given *scheme*.
    s-   unknown address scheme %r (known schemes: %s)N(   t   backendst   gett   Nonet
   ValueErrort   sorted(   t   schemet   backend(    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   get_backend@   s
    N(   t
   __future__R    R   R   t   abcR   R   t   sixR   R   R   R   (    (    (    s8   lib/python2.7/site-packages/distributed/comm/registry.pyt   <module>   s
   5