':param mutant: The mutant that will be sent (one or more times) to the
remote server in order to detect the time delay.
:param delay_obj: A delay object as defined in delay.py file. Basically
an object that contains the string that would delay
the remote server (ie. sleep(%s) )'

def __init__(self, mutant, delay_obj, uri_opener, delay_setting=LINEARLY):

    if (not isinstance(delay_obj, AproxDelay)):
        raise TypeError('ExactDelayController    requires    ExactDelay    as    input')
    if (delay_setting not in (LINEARLY, EXPONENTIALLY)):
        raise TypeError('delay_increases    needs    to    be    one    of    LINEARLY    or    EXPONENTIALLY')
    self.mutant = mutant
    self.mutant.set_token_value(mutant.get_token().get_original_value())
    self.delay_obj = delay_obj
    self.uri_opener = uri_opener
    self.delay_setting = delay_setting
