Пример #1
0
    # Handle command-line options
    parser = OptionParser(option_class=eng_option, conflict_handler="resolve")
    expert_grp = parser.add_option_group("Expert")
    cs_mac.add_options(parser, expert_grp)
    usrp_rx.add_options(parser, expert_grp)
    usrp_tx.add_options(parser, expert_grp)
    pkt_sender.add_options(parser, expert_grp)
    (options, args) = parser.parse_args()

    # Create MAC and connect to USRP
    tb = gr.top_block()
    mac = cs_mac(options)
    tb.connect(usrp_rx(options), mac, usrp_tx(options))

    # Spawn thread to send packets
    pkt_thread = pkt_sender(options, mac)
    pkt_thread.start()

    # Let everything run
    tb.start()
    try:
        raw_input()
    except KeyboardInterrupt:
        pass

        # Cleanup
    tb.stop()
    mac.stop()
    pkt_thread.stop()

    # Wait for completion
Пример #2
0
		(src, dst) = (endpoints[0], endpoints[1])

		# Use global options as a base
		flow_options = copy.copy(options)

		# Assign destination address
		flow_options.pkt_dest = nodes[dst][0].get_local_address()

		# Assign other flow options (e.g., packet interval)
		if config.has_option(s, "pkt-interval"):
			flow_options.pkt_interval = config.getfloat(s, "pkt-interval")
		if config.has_option(s, "init-delay"):
			flow_options.init_delay = config.getfloat(s, "init-delay")

		# Spawn packet generator
		mac_sender = pkt_sender(flow_options, nodes[src][0])
		mac_sender.start()
		flow_srcs.append(mac_sender)

	# Let everything run
	tb.start()
	try:
		raw_input()
	except KeyboardInterrupt:
		pass

	# Cleanup
	tb.stop()
	for n in nodes.keys():
		nodes[n][0].stop()
		nodes[n][2].stop()