Ńň
jˇŞNc           @   s<   d  d k  Z  d e f d     YZ d e f d     YZ d S(   i˙˙˙˙Nt   Int32IDGeneratorc           B   s   e  Z d    Z d   Z RS(   c         C   s   d |  _  d  S(   Ni    (   t   _Int32IDGenerator__nextID(   t   self(    (    s    scripts/common/ids_generators.pyt   __init__	   s    c         C   sQ   |  i  d 7_  |  i  d j o d |  _  n t t i    } | d @d >|  i  S(   Ni   i˙˙  i    i˙  i   (   R   t   intt   time(   R   t   currTime(    (    s    scripts/common/ids_generators.pyt   next   s
    (   t   __name__t
   __module__R   R   (    (    (    s    scripts/common/ids_generators.pyR       s   	t   SequenceIDGeneratorc           B   s>   e  Z d  d d  Z d   Z e d    Z e d    Z RS(   i    i˙  c         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   _SequenceIDGenerator__lowBoundt   _SequenceIDGenerator__highBoundt    _SequenceIDGenerator__sequenceID(   R   t   lowBoundt	   highBound(    (    s    scripts/common/ids_generators.pyR      s    		c         C   s9   |  i  d 7_  |  i  |  i j o |  i |  _  n |  i  S(   Ni   (   R   R   R   (   R   (    (    s    scripts/common/ids_generators.pyR   !   s    c         C   s   |  i  S(    (   R   (   R   (    (    s    scripts/common/ids_generators.pyt   <lambda>'   s    c         C   s
   |  i    S(    (   R   (   R   (    (    s    scripts/common/ids_generators.pyR   )   s    (   R   R	   R   R   t   propertyt   currSequenceIDt   nextSequenceID(    (    (    s    scripts/common/ids_generators.pyR
      s   	(   R   t   objectR    R
   (    (    (    s    scripts/common/ids_generators.pyt   <module>   s   