'`delay` should be a floating point number of seconds to wait inbetween
each attempt.
`max_attempts` should be a total number of attempts to be made before
giving up, or :const:`None` to continue reconnection attempts forever.
The default is 64.'

def __init__(self, delay, max_attempts=64):

    if (delay < 0):
        raise ValueError('delay    must    not    be    negative')
    if ((max_attempts is not None) and (max_attempts < 0)):
        raise ValueError('max_attempts    must    not    be    negative')
    self.delay = delay
    self.max_attempts = max_attempts
