def __init__( self, object_allocator, args, kwargs, size = 0, timeout = None): self._timeout = timeout self._item_args = args self._item_kwargs = kwargs self._item_alloc = object_allocator self._item_max = size self._item_out = 0 self._out_total = 0L self._out_time = 0 self._out_max = 0 self._item_list = [] self._item_refs = {} self._item_time = {} self._item_cond = coro.stats_cond(timeout = self._timeout)
def __init__(self, object_allocator, args, kwargs, **kw): # # # self._timeout = kw.get('timeout', None) self._patient = kw.get('patient', False) self._active = True self._item_out = 0 self._item_list = ElementContainer() self._item_refs = {} self._item_save = {} self._item_time = {} self._out_total = 0L self._out_time = 0 self._out_max = 0 self._item_args = args self._item_kwargs = kwargs self._item_alloc = object_allocator # # priority list is presented lowest to highest # self._item_max = {} self._item_queues = {} self._item_prios = [] size = kw.get('size', 0) prios = kw.get('prios', [DEFAULT_PRIORITY]) for index in range(len(prios)): if isinstance(prios[index], type(tuple())): size += prios[index][1] prio = prios[index][0] else: prio = prios[index] self._item_queues[prio] = coro.stats_cond(timeout = self._timeout) self._item_max[prio] = size self._item_prios.insert(0, prio)