'return first lowest unused session id'

def create_id(self):

    with self._current_id_lock:
        new_id = next(ifilterfalse(self._current_id.__contains__, count(1)))
        self._current_id.append(new_id)
        return new_id
