':param timeout: Float representation of a timeout
:type timeout: float
:raises ValueError: Thrown when one of the arguments are invalid'

def __init__(self, timeout):

    super(Timeout, self).__init__()
    if (not isinstance(timeout, (float, int, long))):
        raise ValueError('Timeout    must    be    a    float,    integer    or    long')
    if (timeout < 0):
        raise ValueError('Timeout    must    be    positive    or    zero')
    self._timeout = timeout
