-
T@c       s    d  Z   # d k Z $ d k Z % 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   Z 3 d f  d     YZ c d e e f d     YZ o d f  d	     YZ  e a  d
   Z  d   Z 	d   Z d   Z d   Z d   Z d   Z d   Z !e i e d  Z (e d  Z .e d j o /e   n d S(   sC  Start the ZEO storage server.

Usage: %s [-C URL] [-a ADDRESS] [-f FILENAME] [-h]

Options:
-C/--configuration URL -- configuration file or URL
-a/--address ADDRESS -- server address of the form PORT, HOST:PORT, or PATH
                        (a PATH must contain at least one "/")
-f/--filename FILENAME -- filename for FileStorage
-t/--timeout TIMEOUT -- transaction timeout in secondes (default no timeout)
-h/--help -- print this usage message and exit
-m/--monitor ADDRESS -- address of monitor server ([HOST:]PORT or PATH)

Unless -C is specified, -a and -f are required.
N(   s	   ZDOptionsc    s/   . 0 t  i i |   } 1 | i | i f Sd  S(   N(   s   ZConfigs	   datatypess   SocketAddresss   args   objs   familys   address(   s   args   obj(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   parse_address. s   s   ZEOOptionsMixinc      sD   3 t  Z 5 e Z 7 d   Z : d   Z = d   Z O d   Z RS(   Nc    s"   7 8 t  |  \ |  _ |  _ d  S(   N(   s   parse_addresss   args   selfs   familys   address(   s   selfs   arg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_address7 s   c    s"   : ; t  |  \ |  _ |  _ d  S(   N(   s   parse_addresss   args   selfs   monitor_familys   monitor_address(   s   selfs   arg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_monitor_address: s   c    s   = > d k  l } ? d f  d     Y} I |  i o J g  |  _ n K t d t |  i   } L | | | |   } M |  i i
 |  d  S(   N(   s   FileStorages   FSConfigc      s#   ? t  Z @ d   Z G d   Z RS(   Nc    sO   @ A | |  _ B | |  _ C d |  _ D d |  _ E t |  _ F t |  _ d  S(   Ni    (	   s   names   selfs   _names   paths   creates	   read_onlys   Nones   stops   quota(   s   selfs   names   path(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   __init__@ s   c    s   G H |  i Sd  S(   N(   s   selfs   _name(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   getSectionNameG s   (   s   __name__s
   __module__s   __init__s   getSectionName(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   FSConfig? s   	i   (   s   ZODB.configs   FileStorages   FSConfigs   selfs   storagess   strs   lens   names   args   confs   append(   s   selfs   args   FSConfigs   names   confs   FileStorage(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_filename= s   
c    sD  O P |  i t t d d |  i  Q |  i t t d d |  i  R |  i d d  S |  i d d T d	 d
 U |  i d d d d V |  i d d W d d X |  i d d Y d d t  Z |  i d d [ d d |  i  \ |  i d d ] t d d t ^ |  i d d _ t d  ` |  i d  d! a t d"  d  S(#   Ns   a:s   address=s   f:s	   filename=s   familys   zeo.address.familys   addresss   zeo.address.addresss   requireds)   no server address specified; use -a or -Cs	   read_onlys   zeo.read_onlys   defaulti    s   invalidation_queue_sizes   zeo.invalidation_queue_sizeid   s   transaction_timeouts   zeo.transaction_timeouts   t:s   timeout=s   monitor_addresss   zeo.monitor_address.addresss   m:s   monitor=s   auth_protocols   zeo.authentication_protocols   auth-protocol=s   auth_databases   zeo.authentication_databases   auth-database=s
   auth_realms   zeo.authentication_realms   auth-realm=(   s   selfs   adds   Nones   handle_addresss   handle_filenames   floats   handle_monitor_address(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   add_zeo_optionsO s$   (   s   __name__s
   __module__s   Nones   storagess   handle_addresss   handle_monitor_addresss   handle_filenames   add_zeo_options(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   ZEOOptionsMixin3 s
   		s
   ZEOOptionsc      s8   c t  Z e d Z f e i i e i  Z h d   Z	 RS(   Ns   eventlogc    s@   h i t  i |   j |  i   k |  i d d l d d d  S(   Ns   storagess   requireds#   no storages specified; use -f or -C(   s	   ZDOptionss   __init__s   selfs   add_zeo_optionss   add(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   __init__h s   (
   s   __name__s
   __module__s   logsectionnames   oss   paths   dirnames   ZEOs   __file__s	   schemadirs   __init__(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys
   ZEOOptionsc s   		s	   ZEOServerc      s   o t  Z q d   Z t 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(   Nc    s   q r | |  _  d  S(   N(   s   optionss   self(   s   selfs   options(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   __init__q s   c    s   t u |  i   v |  i   w |  i   x z8 y |  i   z |  i   { |  i   | |  i   Wd  } ~ |  i    |  i   Xd  S(   N(	   s   selfs   setup_default_loggings   check_sockets   clear_sockets   open_storagess   setup_signalss   create_servers   loop_forevers   close_storages(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   maint s   c    s     |  i i t j	 o  d  Sn  t i d  t j	 o  d  Sn  t i d  t j	 o  d  Sn  d t i d <d  S(   Ns   EVENT_LOG_FILEs   STUPID_LOG_FILEs    (   s   selfs   optionss   config_loggers   Nones   oss   getenvs   environ(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   setup_default_logging s   c    sP     |  i |  i i |  i i  o'  |  i i d t |  i i   n d  S(   Ns   address %s already in use(   s   selfs   can_connects   optionss   familys   addresss   usages   repr(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   check_socket s   "c    sm     t  i  | t  i  }  y  | i |  Wn   t  i j
 o  d Sn X | i    d Sd  S(   Ni    i   (   s   sockets   familys   SOCK_STREAMs   ss   connects   addresss   errors   close(   s   selfs   familys   addresss   s(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   can_connect s   c    sf     t  |  i i t d   o@  y  t i |  i i  Wn  t i j
 o
  n Xn d  S(   Ns    (   s
   isinstances   selfs   optionss   addresss   types   oss   unlinks   error(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   clear_socket s
   c    si     h  |  _  xP |  i i D ]? }  t d | i | i i f   | i   |  i | i <q Wd  S(   Ns   opening storage %r using %s(	   s   selfs   storagess   optionss   openers   infos   names	   __class__s   __name__s   open(   s   selfs   opener(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   open_storages s
    	 c    s      t  i d j o  d Sn  t t d  o  t i t i t i  n  t    xr t i   D ]a \ } }  t
 |  d | i   t  }  | t j	 o&  | d  }  t i | |  n qn Wd S(   s  Set up signal handlers.

        The signal handler for SIGFOO is a method handle_sigfoo().
        If no handler method is defined for a signal, the signal
        action is not changed from its initial value.  The handler
        method is called without additional arguments.
        s   posixNs   SIGXFSZs   handle_c    s     |   d  S(   N(   s   method(   s	   sig_dummys   frame_dummys   method(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   wrapper s   (   s   oss   names   hasattrs   signals   SIGXFSZs   SIG_IGNs   init_signamess   signamess   itemss   sigs   getattrs   selfs   lowers   Nones   methods   wrapper(   s   selfs   wrappers   sigs   methods   name(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   setup_signals s   
 c    s     d k  l }  | |  i i  |  i  d |  i i  d |  i i  d |  i i  d |  i i	  d |  i i
  d |  i i  d |  i i |  _ d  S(	   N(   s   StorageServers	   read_onlys   invalidation_queue_sizes   transaction_timeouts   monitor_addresss   auth_protocols   auth_databases
   auth_realm(   s   ZEO.StorageServers   StorageServers   selfs   optionss   addresss   storagess	   read_onlys   invalidation_queue_sizes   transaction_timeouts   monitor_addresss   auth_protocols   auth_databases
   auth_realms   server(   s   selfs   StorageServer(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   create_server s   	c    s#     d  k  }  | i i   d  S(   N(   s   ThreadedAsync.LoopCallbacks   ThreadedAsyncs   LoopCallbacks   loop(   s   selfs   ThreadedAsync(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   loop_forever s   c    s$     t  d   t i d  d  S(   Ns   terminated by SIGTERMi    (   s   infos   syss   exit(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sigterm s   c    s$     t  d   t i d  d  S(   Ns   terminated by SIGINTi    (   s   infos   syss   exit(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sigint s   c    s$     t  d   t i d  d  S(   Ns   restarted by SIGHUPi   (   s   infos   syss   exit(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sighup s   c    s:     t  d   d  k }  | i    t  d  d  S(   Ns   reinitializing zLOGs   reinitialized zLOG(   s   infos   zLOGs
   initialize(   s   selfs   zLOG(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sigusr2 s   c    sp     xc |  i i   D ]O \ } }  t d |   y  | i   Wn   t d |  n Xq Wd  S(   Ns   closing storage %rs   failed to close storage %r(   s   selfs   storagess   itemss   names   storages   infos   closes	   exception(   s   selfs   storages   name(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   close_storages s    (   s   __name__s
   __module__s   __init__s   mains   setup_default_loggings   check_sockets   can_connects   clear_sockets   open_storagess   setup_signalss   create_servers   loop_forevers   handle_sigterms   handle_sigints   handle_sighups   handle_sigusr2s   close_storages(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys	   ZEOServero s   	
	c    sC      t  t j o  t   n  t  i |   p d |  Sd S(   s   Return a symbolic name for a signal.

    Return "signal NNN" if there is no corresponding SIG name in the
    signal module.
    s	   signal %dN(   s   signamess   Nones   init_signamess   gets   sig(   s   sig(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   signame s   c     s      h  a   x~ t i i   D ]j \ } }   t | d t  }  | t j o
 q" n | d  o | d  o | t  |  <n q" Wd  S(   Ns
   startswiths   SIGs   SIG_(	   s   signamess   signals   __dict__s   itemss   names   sigs   getattrs   Nones   k_startswith(   s   sigs   k_startswiths   name(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   init_signames s   	 
c    s   	
t  |  t i  d S(   s   Log a critical message.N(   s   _logs   msgs   zLOGs   PANIC(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   critical	s   c    s   t  |  t i  d S(   s   Log an error message.N(   s   _logs   msgs   zLOGs   ERROR(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   errors   c    s)   t  |  t i d t i   d S(   s>   Log an exception (an error message with a traceback attached).s   errorN(   s   _logs   msgs   zLOGs   ERRORs   syss   exc_info(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys	   exceptions   c    s   t  |  t i  d S(   s   Log a warning message.N(   s   _logs   msgs   zLOGs   PROBLEM(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   warns   c    s   t  |  t i  d S(   s   Log an informational message.N(   s   _logs   msgs   zLOGs   INFO(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   infos   c    s   t  |  t i  d S(   s   Log a debugging message.N(   s   _logs   msgs   zLOGs   DEBUG(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   debugs   c    s&   !"#t  i d | |  d |  d S(   s#   Internal: generic logging function.s   RUNSVRs    N(   s   zLOGs   LOGs   severitys   msgs   error(   s   msgs   severitys   error(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   _log!s   c    s?   ()t    } *| i |   +t |  } ,| i   d  S(   N(   s
   ZEOOptionss   optionss   realizes   argss	   ZEOServers   ss   main(   s   argss   ss   options(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   main(s   s   __main__(   s   __doc__s   oss   syss   getopts   signals   sockets   ZConfigs   ZConfig.datatypess   zLOGs   ZEOs   zdaemon.zdoptionss	   ZDOptionss   parse_addresss   ZEOOptionsMixins
   ZEOOptionss	   ZEOServers   Nones   signamess   signames   init_signamess   criticals   errors	   exceptions   warns   infos   debugs   INFOs   _logs   mains   __name__(   s	   ZEOServers   ZConfigs   warns   debugs   _logs   ZEOOptionsMixins   sockets   infos   syss	   exceptions   signames   init_signamess	   ZDOptionss   signals   ZEOs   criticals
   ZEOOptionss   errors   zLOGs   getopts   mains   oss   parse_address(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   ? s4   0	