def main(): network = Network.get_instance() nodes = ["Alice", "Bob", "Eve"] network.start(nodes) network.delay = 0.1 host_alice = Host('Alice') host_alice.add_connection('Bob') host_alice.start() host_bob = Host('Bob') host_bob.add_connections(['Alice', 'Eve']) host_bob.start() host_eve = Host('Eve') host_eve.add_connection('Bob') host_eve.start() network.add_hosts([host_alice, host_bob, host_eve]) host_bob.q_relay_sniffing = True host_bob.q_relay_sniffing_fn = bob_sniffing_quantum host_bob.c_relay_sniffing = True host_bob.c_relay_sniffing_fn = bob_sniffing_classical t1 = host_alice.run_protocol(alice) t2 = host_eve.run_protocol(eve) t1.join() t2.join() network.stop(True) exit()
def main(): # Initialize a network network = Network.get_instance() nodes = ['Bank', 'Customer', 'Eve'] network.delay = 0.2 network.start(nodes) host_bank = Host('Bank') host_bank.add_connection('Eve') host_bank.delay = 0.3 host_bank.start() host_eve = Host('Eve') host_eve.add_connection('Bank') host_eve.add_connection('Customer') host_eve.start() host_customer = Host('Customer') host_customer.add_connection('Eve') host_customer.delay = 0.3 host_customer.start() network.add_host(host_bank) network.add_host(host_eve) network.add_host(host_customer) host_eve.q_relay_sniffing = True host_eve.q_relay_sniffing_fn = sniffing_quantum print('Starting transfer') t = host_customer.run_protocol(customer_protocol, (host_bank.host_id, )) host_bank.run_protocol(banker_protocol, (host_customer.host_id, ), blocking=True) t.join() network.stop(True)