37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
"""Configuration class for network emulation."""
|
|
|
|
|
|
class ConnectionConfig(object):
|
|
"""Configuration containing the characteristics of a network connection."""
|
|
|
|
def __init__(self, num, name, receive_bw_kbps, send_bw_kbps, delay_ms,
|
|
packet_loss_percent, queue_slots):
|
|
self.num = num
|
|
self.name = name
|
|
self.receive_bw_kbps = receive_bw_kbps
|
|
self.send_bw_kbps = send_bw_kbps
|
|
self.delay_ms = delay_ms
|
|
self.packet_loss_percent = packet_loss_percent
|
|
self.queue_slots = queue_slots
|
|
|
|
def __str__(self):
|
|
"""String representing the configuration.
|
|
|
|
Returns:
|
|
A string formatted and padded like this example:
|
|
12 Name 375 kbps 375 kbps 10 145 ms 0.1 %
|
|
"""
|
|
left_aligned_name = self.name.ljust(24, ' ')
|
|
return '%2s %24s %5s kbps %5s kbps %4s %5s ms %3s %%' % (
|
|
self.num, left_aligned_name, self.receive_bw_kbps, self.send_bw_kbps,
|
|
self.queue_slots, self.delay_ms, self.packet_loss_percent)
|