from .topology import NodeType
from .topology import NodeSubTypeTG
from .topology import Topology
-from .search.AbstractRateProvider import AbstractRateProvider
-from .search.OptimizedSearchAlgorithm import OptimizedSearchAlgorithm
-from .search.ReceiveRateMeasurement import ReceiveRateMeasurement
+from .MLRsearch.AbstractMeasurer import AbstractMeasurer
+from .MLRsearch.MultipleLossRatioSearch import MultipleLossRatioSearch
+from .MLRsearch.ReceiveRateMeasurement import ReceiveRateMeasurement
__all__ = ['TGDropRateSearchImpl', 'TrafficGenerator', 'OptimizedSearch']
return tg_instance.get_latency_int()
-class TrafficGenerator(AbstractRateProvider):
+class TrafficGenerator(AbstractMeasurer):
"""Traffic Generator.
FIXME: Describe API."""
maximum_transmit_rate, packet_loss_ratio=0.005,
final_relative_width=0.005, final_trial_duration=30.0,
initial_trial_duration=1.0, number_of_intermediate_phases=2,
- timeout=600.0):
+ timeout=720.0):
"""Setup initialized TG, perform optimized search, return intervals.
:param frame_size: Frame size identifier or value [B].
:type initial_trial_duration: float
:type number_of_intermediate_phases: int
:type timeout: float
- :returns: Structure containing narrowed down intervals
+ :returns: Structure containing narrowed down NDR and PDR intervals
and their measurements.
:rtype: NdrPdrResult
:raises RuntimeError: If total duration is larger than timeout.
tg_instance = BuiltIn().get_library_instance(
'resources.libraries.python.TrafficGenerator')
tg_instance.set_rate_provider_defaults(frame_size, traffic_type)
- algorithm = OptimizedSearchAlgorithm(
- tg_instance, final_trial_duration=final_trial_duration,
+ algorithm = MultipleLossRatioSearch(
+ measurer=tg_instance, final_trial_duration=final_trial_duration,
final_relative_width=final_relative_width,
number_of_intermediate_phases=number_of_intermediate_phases,
initial_trial_duration=initial_trial_duration, timeout=timeout)