Esempio n. 1
0
 def estimate_rho(self, rho_star):
     """Estimate new value of rho based on past network performance."""
     #log.debug("[cs-buflo] rho stats: %s" % self._rho_stats)
     time_intervals = gu.flatten_list([gu.apply_consecutive_elements(burst_list, lambda x, y: (y - x) * const.SCALE)
                                       for burst_list in self._rho_stats])
     #log.debug("[cs-buflo] Time intervals = %s", time_intervals)
     if len(time_intervals) == 0:
         return rho_star
     else:
         return math.pow(2, math.floor(math.log(mu.median(time_intervals), 2)))
Esempio n. 2
0
 def estimate_rho(self, rho_star):
     """Estimate new value of rho based on past network performance."""
     #log.debug("[cs-buflo] rho stats: %s" % self._rho_stats)
     time_intervals = gu.flatten_list([
         gu.apply_consecutive_elements(burst_list, lambda x, y:
                                       (y - x) * const.SCALE)
         for burst_list in self._rho_stats
     ])
     #log.debug("[cs-buflo] Time intervals = %s", time_intervals)
     if len(time_intervals) == 0:
         return rho_star
     else:
         return math.pow(2,
                         math.floor(math.log(mu.median(time_intervals), 2)))
Esempio n. 3
0
 def test_timing(self):
     """Test that delay is correct."""
     ignores_rcv_times = [e.rcvTime for e in self.padding_msgs(self.clientMsgs)]
     controls_rcv_times = [e.rcvTime for e in self.control_msgs(self.serverMsgs)]
     rtt_times = gu.apply_consecutive_elements(ignores_rcv_times)
     # TODO
     first_ignore_rcv_client = self.padding_msgs(self.clientMsgs)[0]
     control_msg_rcv_server = self.control_msgs(self.serverMsgs)[0]
     ign_ts = float(first_ignore_rcv_client.rcvTime)
     ctl_ts = float(control_msg_rcv_server.rcvTime)
     observed_delay = ign_ts - ctl_ts  # as ctrl msg goes before 1st ignore
     expected_delay = self.t / const.SCALE
     self.assertAlmostEqual(expected_delay, observed_delay,
                            msg="Observed delay (%s-%s=%s) does not match"
                            " the expected delay (%s)."
                            % (ign_ts, ctl_ts, observed_delay,
                               expected_delay), delta=0.05)
Esempio n. 4
0
 def test_timing(self):
     """Test that delay is correct."""
     ignores_rcv_times = [
         e.rcvTime for e in self.padding_msgs(self.clientMsgs)
     ]
     controls_rcv_times = [
         e.rcvTime for e in self.control_msgs(self.serverMsgs)
     ]
     rtt_times = gu.apply_consecutive_elements(ignores_rcv_times)
     # TODO
     first_ignore_rcv_client = self.padding_msgs(self.clientMsgs)[0]
     control_msg_rcv_server = self.control_msgs(self.serverMsgs)[0]
     ign_ts = float(first_ignore_rcv_client.rcvTime)
     ctl_ts = float(control_msg_rcv_server.rcvTime)
     observed_delay = ign_ts - ctl_ts  # as ctrl msg goes before 1st ignore
     expected_delay = self.t / const.SCALE
     self.assertAlmostEqual(
         expected_delay,
         observed_delay,
         msg="Observed delay (%s-%s=%s) does not match"
         " the expected delay (%s)." %
         (ign_ts, ctl_ts, observed_delay, expected_delay),
         delta=0.05)