':param size_or_pool: thread pool size or a pool to use'

def __init__(self, size_or_pool):

    if isinstance(size_or_pool, GreenPool):
        self._pool = size_or_pool
        size = self._pool.size
    else:
        self._pool = GreenPool(size_or_pool)
        size = size_or_pool
    self._responses = eventlet.queue.LightQueue(size)
    self._inflight = 0
    self._pending = 0
