|
1 | 1 | import unittest |
2 | 2 | import logging |
| 3 | +from easysquid.easyfibre import ClassicalFibreConnection |
3 | 4 | from easysquid.easynetwork import EasyNetwork |
4 | 5 | from easysquid.qnode import QuantumNode |
5 | 6 | from easysquid.quantumMemoryDevice import NVCommunicationDevice |
6 | 7 | from easysquid.easyprotocol import TimedProtocol |
7 | 8 | from easysquid.toolbox import logger |
8 | 9 | from netsquid.simutil import sim_run, sim_reset |
9 | | -from qlinklayer.distQueue import EGPDistributedQueue |
10 | | -from qlinklayer.scheduler import StrictPriorityRequestScheduler |
| 10 | +from qlinklayer.distQueue import EGPDistributedQueue, WFQDistributedQueue |
| 11 | +from qlinklayer.scheduler import StrictPriorityRequestScheduler, WFQRequestScheduler |
11 | 12 | from qlinklayer.qmm import QuantumMemoryManagement |
12 | 13 | from qlinklayer.egp import EGPRequest |
13 | 14 | from qlinklayer.scenario import EGPSimulationScenario |
| 15 | +from qlinklayer.feu import SingleClickFidelityEstimationUnit |
| 16 | +from qlinklayer.mhp import SimulatedNodeCentricMHPService |
14 | 17 |
|
15 | 18 | logger.setLevel(logging.CRITICAL) |
16 | 19 |
|
@@ -150,6 +153,27 @@ def test_priority(self): |
150 | 153 | test_scheduler.clear_request(next_aid) |
151 | 154 |
|
152 | 155 |
|
| 156 | +class TestWFQRequestScheduler(unittest.TestCase): |
| 157 | + def setUp(self): |
| 158 | + alice = QuantumNode("alice", 0) |
| 159 | + bob = QuantumNode("bob", 0) |
| 160 | + conn = ClassicalFibreConnection(alice, bob, length=0.001) |
| 161 | + |
| 162 | + distQueueA = WFQDistributedQueue(alice, numQueues=3, accept_all=True) |
| 163 | + distQueueB = WFQDistributedQueue(bob, numQueues=3, accept_all=True) |
| 164 | + distQueueA.connect_to_peer_protocol(distQueueB, conn=conn) |
| 165 | + |
| 166 | + qmmA = QuantumMemoryManagement(alice) |
| 167 | + qmmB = QuantumMemoryManagement(bob) |
| 168 | + |
| 169 | + # mhp_service = SimulatedNodeCentricMHPService("mhp_service", alice, bob) |
| 170 | + # |
| 171 | + # feuA = SingleClickFidelityEstimationUnit(alice, ) |
| 172 | + # self.schedulerA = WFQRequestScheduler(distQueueA, qmmA, feuA) |
| 173 | + def test_init(self): |
| 174 | + pass |
| 175 | + |
| 176 | + |
153 | 177 | class TestTimings(unittest.TestCase): |
154 | 178 | def setUp(self): |
155 | 179 | def timeout_handler(request): |
|
0 commit comments