__metaclass__ = ABCMeta
- def __init__(self, rate_provider):
+ def __init__(self, measurer):
"""Store the rate provider.
- :param rate_provider: Object able to perform trial measurements.
- :type rate_provider: AbstractRateProvider
+ :param measurer: Object able to perform trial or composite measurements.
+ :type measurer: AbstractMeasurer
"""
- # TODO: Type check for AbstractRateProvider?
- self.rate_provider = rate_provider
+ # TODO: Type check for AbstractMeasurer?
+ self.measurer = measurer
@abstractmethod
def narrow_down_ndr_and_pdr(
- self, fail_rate, line_rate, allowed_drop_fraction):
+ self, fail_rate, line_rate, packet_loss_ratio):
"""Perform measurements to narrow down intervals, return them.
+ This will be renamed when custom loss ratio lists are supported.
+
:param fail_rate: Minimal target transmit rate [pps].
:param line_rate: Maximal target transmit rate [pps].
- :param allowed_drop_fraction: Fraction of dropped packets for PDR [1].
+ :param packet_loss_ratio: Fraction of packets lost, for PDR [1].
:type fail_rate: float
:type line_rate: float
- :type allowed_drop_fraction: float
+ :type packet_loss_ratio: float
:returns: Structure containing narrowed down intervals
and their measurements.
:rtype: NdrPdrResult