- 22 Aug, 2021 1 commit
-
-
tavit ohanian authored
-
- 30 Apr, 2021 3 commits
-
-
Steven Allen authored
-
Steven Allen authored
Give it some more time. We're not testing the _exact_ timeout.
-
Steven Allen authored
-
- 15 Apr, 2021 1 commit
-
-
Cory Schwartz authored
-
- 26 Feb, 2021 1 commit
-
-
Steven Allen authored
-
- 18 Nov, 2020 1 commit
-
-
dirkmc authored
-
- 13 Nov, 2020 2 commits
-
-
Steven Allen authored
It's possible to start receiving and processing messages before we get around to starting.
-
Steven Allen authored
-
- 12 Nov, 2020 1 commit
-
-
Steven Allen authored
-
- 03 Sep, 2020 2 commits
-
-
dirkmc authored
-
Paul Wolneykien authored
* Separate decision engine ledger on two parts: score and the wantlist This is the first step to make external decision logic (tagging peers with score values) possible. The wantlist still resides in the original `ledger` struct while sent/received byte accounting and scores are extracted to the new `scoreledger` struct managed by the original `scoreWorker()` logic. The accounting is integrated into the `Engine` via `ScoreLedger` interface making it possible to replace the original `scoreWorker()` with some other logic. The interface, however, doesn't allow a score logic to directly touch peer tags: the logic may decide about score values while tagging itself is still under control of Engine. Note: with this commit it's yet not possible to replace the original score logic because there is no public methods for that. * Added "WithScoreLedger" Bitswap option New `WithScoreLedger(decision.ScoreLedger)` option in the `bitswap` package is the way to connect a custom `ScoreLedger` implementation to the decision engine. The `Engine` now has the corresponding `UseScoreLedger(ScoreLedger)` method. The `ScoreLedger` and `ScorePeerFunc` types are exposed from the internal `decision` package to the public one. Because its options are processed by the `Bitswap` after construction of its parts but before starting of the engine, the default `scoreLedger` initialization is moved from `newEngine()` to `StartWorkers()`. New `TestWithScoreLedger` test is added. The test checks for start and stop of the testing score ledger implementation that is specified via `WithScoreLedger` option. * Combine score ledger start with initialization of the score function Having a separate `Init(ScoreFunc)` method seems redundant (thx @dirkmc for pointing about that). As a bonus, the two-step ledger starting process is now enclosed in the `startScoreLedger()` function. * Let's call Stop() to stop a ScoreLedger The `Close()` method was there to stop the ledger. Let call it `Stop()` now. * Get return of the blank Receipt out of conditional block Explicitly form it as the final resort. Co-authored-by: Paul Wolneykien <manowar@altlinux.org>
-
- 19 Aug, 2020 1 commit
-
-
Steven Allen authored
I'm not sure why we set "full" to true here, but this could be the source of a whole bunch of bidirectional sync issues. That is, if two peers are syncing off each other, they could repeatedly "reset" each other's wantlist to "empty".
-
- 10 Jun, 2020 5 commits
-
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Steven Allen authored
Or, really, just avoid accessing it. We don't need it. This caused a concurrent map access panic under load.
-
- 08 Jun, 2020 1 commit
-
-
Steven Allen authored
Quick alternative to #407 to fix the main issue.
-
- 03 Jun, 2020 5 commits
-
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
- 02 Jun, 2020 1 commit
-
-
dirkmc authored
* feat: total wants gauge * fix: in gauges count wants regardless of which peers they're sent to * fix: want block gauge calculation * refactor: simplify peermanagerwants
-
- 21 May, 2020 1 commit
-
-
Steven Allen authored
Instead of tracking offsets, just create a "new" slice starting with the broadcast cancel slice. Under the covers, this will just use the same memory over and over.
-
- 20 May, 2020 1 commit
-
-
Dirk McCormick authored
-
- 19 May, 2020 1 commit
-
-
Dirk McCormick authored
-
- 07 May, 2020 1 commit
-
-
Dirk McCormick authored
-
- 01 May, 2020 2 commits
-
-
dirkmc authored
* fix: use one less go-routine per session * fix: send cancel when GetBlocks() is cancelled (#383) * fix: send cancel when GetBlocks() is cancelled * fix: in SessionManager shutdown nil out sessions * fix: sessionWantSender perf * make sessionWantSender.SignalAvailability() non-blocking * Refactor SessionInterestManager (#384) * refactor: customize SessionInterestManager * refactor: SessionInterestManager perf
-
Dirk McCormick authored
-
- 30 Apr, 2020 3 commits
-
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
- 29 Apr, 2020 1 commit
-
-
Dirk McCormick authored
-
- 23 Apr, 2020 4 commits
-
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
- 22 Apr, 2020 1 commit
-
-
Dirk McCormick authored
-