-=[ Mr. Bumblebee ]=-
_Indonesia_
:Nc @@ s* d Z d d l m 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 d d l m
Z
m Z m Z d d l m Z d d l m Z e e d d e f d
YZ d e f d YZ e e _ d
Z d e f d YZ e e e e d Z d S( s! Server for smart-server protocol.i ( t absolute_importN( t Hooks( t errorst tracet transport( t gettext( t lazy_imports
from bzrlib.smart import (
medium,
signals,
)
from bzrlib.transport import (
chroot,
pathfilter,
)
from bzrlib import (
config,
urlutils,
)
t SmartTCPServerc B@ s e Z d Z d Z d Z d Z e j Z d d d Z d Z
d Z d d Z d d Z
d Z d
Z d d Z d
Z d Z d d Z d Z d d Z d Z RS( s Listens on a TCP socket and accepts connections from smart clients.
Each connection will be served by a SmartServerSocketStreamMedium running in
a thread.
hooks: An instance of SmartServerHooks.
g ?g $@t /c C@ s1 | | _ | | _ | | _ g | _ t | _ d S( s Construct a new server.
To actually start it running, call either start_background_thread or
serve.
:param backing_transport: The transport to serve.
:param root_client_path: The client path that will correspond to root
of backing_transport.
:param client_timeout: See SmartServerSocketStreamMedium's timeout
parameter.
N( t backing_transportt root_client_patht _client_timeoutt _active_connectionst Falset _gracefully_stopping( t selfR R
t client_timeout( ( s7 /usr/lib/python2.7/dist-packages/bzrlib/smart/server.pyt __init__F s
c C@ sp d d l m } d d l m } | | _ | | _ t j | | t j t j d t j d } | \ } } } } }
t j | | | | _ t
j d k r | j j t j
t j d n y | j j |
Wn+ | j k
r } t j | | | n X| j j | _ | j d | _ | j j d | j j | j t j | _ t j | _ t j | _ d S( s Create the server listening socket.
:param host: Name of the interface to listen on.
:param port: TCP port to listen on, or 0 to allocate a transient port.
i ( t timeout( t errort win32i N( t socketR R t
_socket_errort _socket_timeoutt getaddrinfot AF_UNSPECt SOCK_STREAMt
AI_PASSIVEt _server_sockett syst platformt
setsockoptt
SOL_SOCKETt SO_REUSEADDRt bindR t CannotBindAddresst getsocknamet _socknamet portt listent
settimeoutt _ACCEPT_TIMEOUTt threadingt Eventt _startedt _stoppedt _fully_stopped( R t hostR&