'Given a list of statuses from several requests, determine if a
satisfactory number of nodes have responded with 1xx or 2xx statuses to
deem the transaction for a successful response to the client.
:param statuses: list of statuses returned so far
:param min_responses: minimal pass criterion for number of successes
:param conditional_func: a callable function to check http status code
:returns: True or False, depending on current number of successes'

def _have_adequate_responses(self, statuses, min_responses, conditional_func):

    if (sum((1 for s in statuses if conditional_func(s))) >= min_responses):
        return True
    return False
