- 02 Mar, 2020 1 commit
-
-
dirkmc authored
* fix: ensure broadcast when peer becomes unavailable and all other peers sent DONT_HAVE for CID * fix: lint warnings * refactor: simplify session want sender DONT_HAVE list * fix: flaky test * test: add session exhausted wants test * docs: improve sessionWantSender processAvailability docs
-
- 12 Feb, 2020 1 commit
-
-
Steven Allen authored
-
- 30 Jan, 2020 2 commits
-
-
Steven Allen authored
This makes reading the docs much easier as it's clear what's "private" and what's not. fixes #238
-
dirkmc authored
This commit extends the bitswap protocol with two additional wantlist properties: * WANT_HAVE/HAVE: Instead of asking for a block, a node can specify that they want to know if any peers "have" the block. * WANT_HAVE_NOT/HAVE_NOT: Instead of waiting for a timeout, a node can explicitly request to be told immediately if their peers don't currently have the given block. Additionally, nodes now tell their peers how much data they have queued to send them when sending messages. This allows peers to better distribute requests, keeping all peers busy but not overloaded. Changes in this PR are described in: https://github.com/ipfs/go-bitswap/issues/186
-
- 28 Aug, 2019 1 commit
-
-
Steven Allen authored
We're not using these synchronously so we can buffer them a bit to avoid blocking quite as much. This also combines all incoming channels into a single one to ensure all operations are processed in-order. This might be overkill bit it makes reasoning about this a bit simpler.
-
- 22 Aug, 2019 1 commit
-
-
Dirk McCormick authored
-
- 20 Aug, 2019 1 commit
-
-
dirkmc authored
-
- 15 Aug, 2019 4 commits
-
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
Dirk McCormick authored
-
- 13 Aug, 2019 1 commit
-
-
dirkmc authored
feat: process response message blocks as a batch
-
- 04 Jul, 2019 2 commits
-
-
hannahhoward authored
send duplicate responses to the session peer manager to track latencies
-
hannahhoward authored
Better estimate latency per peer by tracking cancellations
-
- 03 Jul, 2019 1 commit
-
-
hannahhoward authored
When fetching optimized peers from the peer manager, return an optimization rating, and pass on to request splitter BREAKING CHANGE: interface change to GetOptimizedPeers and SplitRequests public package methods
-
- 14 Jun, 2019 1 commit
-
-
Steven Allen authored
-
- 12 Jun, 2019 3 commits
-
-
Steven Allen authored
This fixes the case where: 1. I start downloading something. 2. A friend jumps on our WiFi. 3. Our IPFS daemons connect via local discovery. 4. I never notice that they have the file I'm looking for because I'm already downloading it from a peer. 5. The peer I'm downloading from is _really_ slow.
-
Steven Allen authored
-
Steven Allen authored
-
- 04 Jun, 2019 1 commit
-
-
hannahhoward authored
Re-setup provider search delay and rebroadcast delay on a per bitswap instance basis
-
- 03 Jun, 2019 4 commits
-
-
hannahhoward authored
-
hannahhoward authored
Don't count consecutive ticks if there are no active wants
-
hannahhoward authored
-
hannahhoward authored
on a tick, do not keep searching for providers for the same block. instead rely on a periodic search for more providers. (which will run no matter what, even w/o ticks, to optimize found providers). also backoff tick time to reduce broadcasts. fix #95, fix #107
-
- 31 May, 2019 1 commit
-
-
Raúl Kripalani authored
-
- 11 Jan, 2019 1 commit
-
-
hannahhoward authored
-
- 10 Jan, 2019 1 commit
-
-
hannahhoward authored
when providers are found in a session, explicitly connect them so they get added to the peer manager fix #53
-
- 22 Dec, 2018 1 commit
-
-
hannahhoward authored
Encapsulate functions for readability, and move code for understanding
-
- 20 Dec, 2018 3 commits
-
-
hannahhoward authored
Move the job of splitting requests to its own package
-
hannahhoward authored
As soon as peers appear, consume all of the want budget
-
hannahhoward authored
Reduce duplicates through splits of requests
-
- 13 Dec, 2018 4 commits
-
-
hannahhoward authored
-
hannahhoward authored
-
hannahhoward authored
extract the job of finding and managing peers for a session from the job of requesting blocks
-
hannahhoward authored
remove for loop not needed, cleanup spelling
-
- 11 Dec, 2018 2 commits
-
-
hannahhoward authored
- moved sessions out of main bitswap package - modified session manager to manage all sessions - moved get functions to their own package so sessions can directly BREAKING CHANGE: SessionsForBlock, while not used outside of Bitswap, has been removed, and was an exported function
-
-
- 04 Dec, 2018 1 commit
-
-
hannahhoward authored
Extract session manager from bitswap Extract session manager & want manager to package Move want manager message queue to seperate file Move Message Queue to subpackage Respond to PR Comments
-
- 29 Oct, 2018 1 commit
-
-
Jeromy authored
-
- 04 Oct, 2018 1 commit
-
-
Steven Allen authored
1. Use a `taskEntryKey` *type* instead of a string (now that both peer IDs and CIDs are hashable). 2. Get rid of all uses of `cid.KeyString` (mostly just for type safety). This also means we don't need to parse the CID and allocate to convert it *back* from a string.
-