simple fetchers (#1492)

* network: disable shouldNOTRequestAgain
* vendor singleflight
* network: disable shouldNOTRequestAgain
* network, storage: fix tests
* network/storage: remove HopCount and SkipCheck
* network/stream: use localstore when providing chunks a node has offered
* storage: refactor lnetstore
* storage: rename FetcherItem to Fetcher
* storage/feed: no distinction between catastrophic err or chunk not found
* network/stream: remove TestDeliveryFromNodes, as FindPeer is changed, and Swarm connectivity is not a chain
* network/stream: fixed intervals tests
* swarm: fixes for linter
* storage: use LRU cache for fetchers
* network, storage: better godoc
* storage/netstore: explicit errors
* storage/feed/lookup: Clarify ReadFunc expected return error values
* storage: address comments by elad
This commit is contained in:
Anton Evangelatov
2019-06-18 08:47:27 +02:00
committed by acud
parent f57d4f0802
commit d589af14a8
23 changed files with 746 additions and 2246 deletions

View File

@ -0,0 +1,24 @@
package timeouts
import "time"
// FailedPeerSkipDelay is the time we consider a peer to be skipped for a particular request/chunk,
// because this peer failed to deliver it during the SearchTimeout interval
var FailedPeerSkipDelay = 20 * time.Second
// FetcherGlobalTimeout is the max time a node tries to find a chunk for a client, after which it returns a 404
// Basically this is the amount of time a singleflight request for a given chunk lives
var FetcherGlobalTimeout = 10 * time.Second
// SearchTimeout is the max time requests wait for a peer to deliver a chunk, after which another peer is tried
var SearchTimeout = 500 * time.Millisecond
// SyncerClientWaitTimeout is the max time a syncer client waits for a chunk to be delivered during syncing
var SyncerClientWaitTimeout = 20 * time.Second
// Within handleOfferedHashesMsg - how long to wait for a given batch of chunks to be delivered by the peer offering them
var SyncBatchTimeout = 10 * time.Second
// Within SwarmSyncerServer - If at least one chunk is added to the batch and no new chunks
// are added in BatchTimeout period, the batch will be returned.
var BatchTimeout = 2 * time.Second