'Wait until all given RPCs are finished.
This is a thin wrapper around wait_any() that loops until all
given RPCs have finished.
Args:
rpcs: Iterable collection of UserRPC instances.
Returns:
None.'

@classmethod
def wait_all(cls, rpcs):

    rpcs = set(rpcs)
    while rpcs:
        finished = cls.wait_any(rpcs)
        if (finished is not None):
            rpcs.remove(finished)
