You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement a very first version of protocol prioritization.
Implementation
This prioritization actually just has a single goal: prioritize HTTP retrieval when present, then bitswap, then graphsync. We're not doing full "sequencing" as in completely exhausting all candidates on a protocol until we try the next, but instead reasonably delayed racing.
In the protocol splitter, wait till the first group of candidates arrives then
If HTTP candidates are present:
only pass on the HTTP candidates to the HTTP retriever put the remaining in a pool
set a 1 or 2 second timer and continue pooling until the timer goes off at which point, if the context wasn't already cancelled cause the retrieval succeeded, move on to bitswap evaluation (see Update to go-data-transfer v2 #3)
If Bitswap candidates are present:
only pass on the bitswap candidates to the bitswap retriever put the graphsync candidates in a pool
set a 1 or 2 second timer and continue pooling until the timer goes off at which point, if the context wasn't already cancelled cause the retrieval succeeded, release the graphsync candidates.
Open to any other variation on simple logic.
The text was updated successfully, but these errors were encountered:
Goals
Implement a very first version of protocol prioritization.
Implementation
This prioritization actually just has a single goal: prioritize HTTP retrieval when present, then bitswap, then graphsync. We're not doing full "sequencing" as in completely exhausting all candidates on a protocol until we try the next, but instead reasonably delayed racing.
Open to any other variation on simple logic.
The text was updated successfully, but these errors were encountered: