feat: remove provider delay interval in bitswap (#9053)
* feat: remove provider delay interval in bitswap * Use a non-zero provider search delay * Add ProviderSearchDelay to Internal.Bitswap config * Revert bitswap provider delay to 1s
Ian Davis committed
Oct 13, 2022 at 05:43 UTC
066a0b9cab47c97d6d4586709722915fd74d8aae
2 files changed
+4
config/internal.go
+1
@@ -12,4 +12,5 @@ type InternalBitswap struct {
12
EngineBlockstoreWorkerCount OptionalInteger
13
EngineTaskWorkerCount OptionalInteger
14
MaxOutstandingBytesPerPeer OptionalInteger
15
+ ProviderSearchDelay OptionalDuration
16
}
core/node/bitswap.go
+3
@@ -2,6 +2,7 @@ package node
2
3
import (
4
"context"
5
+ "time"
6
7
"github.com/ipfs/go-bitswap"
8
"github.com/ipfs/go-bitswap/network"
@@ -21,6 +22,7 @@ const (
22
DefaultTaskWorkerCount = 8
23
DefaultEngineTaskWorkerCount = 8
24
DefaultMaxOutstandingBytesPerPeer = 1 << 20
25
+ DefaultProviderSearchDelay = 1000 * time.Millisecond
26
)
27
28
type bitswapOptionsOut struct {
@@ -40,6 +42,7 @@ func BitswapOptions(cfg *config.Config, provide bool) interface{} {
42
43
opts := []bitswap.Option{
44
bitswap.ProvideEnabled(provide),
45
+ bitswap.ProviderSearchDelay(internalBsCfg.ProviderSearchDelay.WithDefault(DefaultProviderSearchDelay)), // See https://github.com/ipfs/go-ipfs/issues/8807 for rationale
46
bitswap.EngineBlockstoreWorkerCount(int(internalBsCfg.EngineBlockstoreWorkerCount.WithDefault(DefaultEngineBlockstoreWorkerCount))),
47
bitswap.TaskWorkerCount(int(internalBsCfg.TaskWorkerCount.WithDefault(DefaultTaskWorkerCount))),
48
bitswap.EngineTaskWorkerCount(int(internalBsCfg.EngineTaskWorkerCount.WithDefault(DefaultEngineTaskWorkerCount))),