ethersphere / swarm

Swarm: Censorship resistant storage and communication infrastructure for a truly sovereign digital society
https://swarm.ethereum.org/
GNU Lesser General Public License v3.0
489 stars 110 forks source link

Fetcher improvements #2031

Open janos opened 4 years ago

janos commented 4 years ago

Fetchers are using singleflight to deduplicate retrieval of the same chunk. The consequence is that a relation between chunk requests is made, terminating later chunk requests sooner than the timeout is specified as the first requests that times out terminates all other.

Implement peers to skip on fetcher.

Remove LNetStore by getting the peer from the passed context value. Remove origin peer by providing it in peers to skip.

Re-request chunk if requested peer disconnects.

acud commented 4 years ago

Add retry after sync failure.

what does this mean?

janos commented 4 years ago

Yes, syncing is not relevant here, removed, thanks.