Renamed to Network Emulator and improved error handling.
Changed default start port of the port-range to 32768.
BUG=None
TEST=Tested locally.
Review URL: https://webrtc-codereview.appspot.com/627004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2338 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/tools/network_emulator/config.py b/tools/network_emulator/config.py
new file mode 100644
index 0000000..60fa485
--- /dev/null
+++ b/tools/network_emulator/config.py
@@ -0,0 +1,36 @@
+#!/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)