-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[draft] Firstgenrepeaterv2 #69
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #69 +/- ##
==========================================
- Coverage 72.87% 71.00% -1.88%
==========================================
Files 29 37 +8
Lines 1132 1390 +258
==========================================
+ Hits 825 987 +162
- Misses 307 403 +96 ☔ View full report in Codecov by Sentry. |
bba2e4e
to
2285fd9
Compare
tag!(b, :EntanglementCounterpart, prot.nodeA, a.idx) | ||
unlock(a) | ||
unlock(b) | ||
rounds==-1 || (rounds -= 1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When rounds==-1
, but the entanglement has been successfully established, how will the while loop terminate? Or when rounds
is a finite number and entanglement was established in the first iteration, would it still keep executing for all rounds? Or is it controlled from the simulation in some way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The loop would not terminate, instead the protocol will continue searching for available free slots (lines 72 and 73) and if there are no free slots it will wait a bit and try again (lines 74-78).
Related: it would be nice to implement some form of querywait
process that waits for an event to happen before running the query (in order to remove the @yield timeout
step and instead it would just have @yield something_changed_so_now_you_can_try_the_query_again
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, so the entangler process is always running in the background and entangling whenever a free slot is available at both the nodes.
Earlier, my understanding was that we only want a single entangled pair between each of the registers, but instead we want as many as possible and as often as possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if rounds=1
it will indeed try to do it only once and then it will exit the while loop. The default of -1
is the one that leads to infinitely trying (hopefully... if I have not done something silly)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, and I guess the source of confusion is whether we are talking about "rounds of attempting entanglement" or "rounds of successfully generating entanglement". Here it is meant as the latter.
08d152b
to
a961398
Compare
…r in which they are inserted)
…t instead of having explicit connections with channels
…update remote who-is-entangled-with-whom information) -- still needs classical message routing
204d61e
to
82dbbe8
Compare
82dbbe8
to
bf52d3f
Compare
closed in favor of #81 |
making this just so I can run the tests