Support Heralded repeater chains & Overwrite link models
- Refactor of HubBuilder
- Refactor of ChainBuilder
- Notable refactor: creation of _get_link_builder_and_config that works for both qlinks and clinks. It also includes the overides if specified. Change made to both HubBuilder and ChainBuilder
- Overhaul of
test_protocol_qlink.py, specifically:- Discard qubits only after receiver and sender protocol have finished their EPR request, this allows both event registrations to have a 2 qubit DM
- Also apply qmemory decoherence to the peer memory when sampling the shared DM
- Protocols now use references to each other for synchronizing EPR request submission (Instead of classical communication)
- To enable the features above, a reference to the peer protocol must be set via attribute on each protocol
- Removed
recieved_classicalattribute from event registration class - Added methods to event registration classes that allow for calculation of fidelity, rate, generation time and QBER.
Edited by Michał van Hooft