示例#1
0
    def test_create_packet_constant_bitrate(self):
        packet_size_bytes = 1200.0
        bitrate_kbps = 1500.0
        packet_source = PacketSource(packet_size_bytes)

        for i in range(1, 11):
            packet = packet_source.create_packet(bitrate_kbps)
            self.assertEqual(i, packet.id)
            self.assertNear(i * 8 * packet_size_bytes / bitrate_kbps,
                            packet.send_time_ms, 0.001)
示例#2
0
    def test_create_packet_variable_bitrate(self):
        packet_size_bytes = 1200.0
        packet_source = PacketSource(packet_size_bytes)

        time_ms = 0.0
        for i in range(1, 11):
            bitrate_kbps = random.randint(150, 2500)
            packet = packet_source.create_packet(bitrate_kbps)
            time_ms += 8 * packet_size_bytes / bitrate_kbps
            self.assertEqual(i, packet.id)
            self.assertNear(time_ms, packet.send_time_ms, 0.001)
 def test_receiving_rate_regular_packets(self):
     for i in range(10):
         bitrate_kbps = random.uniform(150.0, 2500.0)
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         packet_source = PacketSource(packet_size_bytes)
         packets = []
         for j in range(1000):
             packet = packet_source.create_packet(bitrate_kbps)
             packet.arrival_time_ms = packet.send_time_ms + delay_ms
             packets.append(packet)
         time_window_ms = random.uniform(0.0,
                                         1.0) * packets[-1].arrival_time_ms
         self.assertNear(receiving_rate_kbps(packets, time_window_ms),
                         bitrate_kbps, 0.001)