mn.start() ap1.start() ar.start() ha.start() cn.start() wf = WhiteFountain(mn, '2002::1', None, 'wf') am = AnsweringMachine(cn, 'am') # world.monitor.watch(lambda: wf.i, "wf sent", 'red') # world.monitor.watch(lambda: am.received, "am received", 'blue') wf.start() am.start() if World.gui: world.gui.target_obj = c world.gui.add_label(wf.info) world.gui.add_label(am.info) world.gui.map.zoom = 15 ######################## world.start() ######################## # print 'Producing Report ... ' world.sequence_diagram([(mn, mn_i1), (ap1.wireless_iface, ap1, ap1.ethernet_iface), (ap2.wireless_iface, ap2, ap2.ethernet_iface), (ar_i1, ar_i2, ar, ar_i3), (ha_i1, ha, ha_i2),(cn_i1, cn)]) # os.system("open /tmp/packets.pdf")
world.gui.target_obj = c world.gui.add_label(wf1.info) world.gui.add_label(am1.info) world.gui.map.zoom = 15 ######################## # world.start(until=(1200+100)/speed) world.start() ######################## f = open('/tmp/packets.txt', 'w') f.write(w.packets.text()) f.close() world.sequence_diagram([ (am1, am2, mn, mn_i1, mn_i2), (ap1.wireless_iface, ap1, ap1.ethernet_iface), (ap2.wireless_iface, ap2, ap2.ethernet_iface), (ap3.wireless_iface, ap3, ap3.ethernet_iface), (ar_i1, ar_i2, ar_i3, ar, ar_i4), (ha_i1, ha, ha_i2), (cn_i1, cn, wf1, wf2)]) l1 = [] l2 = [] l3 = [] l4 = [] last1 = last2 = last3 = last4 = None for p in world.packets: for trip_stop in p.trip: if trip_stop.action == 'retired' and trip_stop.actor == am1: lon = len(p[inet.UDP].payload) if last1: l1.append((trip_stop.time, trip_stop.time - last1, lon))