- 26 Oct, 2020 1 commit
-
-
Hannah Howard authored
* test(benchmarks): add benchmark for go routine leak * fix(notifications): shutdown notification queues make sure all notification publishers are actually shut down, and don't start them automatically
-
- 13 Oct, 2020 1 commit
-
-
Hannah Howard authored
* feat(notifications): build notifications architecture build an architecture via which we can pass on notifications * feat(peerresponsesender): add notifications pass notifications on from peer response sender based on message queue notifications * feat(responsemanager): handle network errors Pass on network errors through the response manager, pass block sent errors as well * fix(notifications): send unique notifications by peer * feat(responsemanager): subscriber per request * Revert "fix(notifications): send unique notifications by peer" This reverts commit 7bf368a05d14229b7523cb25068681d9c7e48246.
-
- 13 Aug, 2020 1 commit
-
-
Hannah Howard authored
* feat(responsemanager): dedup-by-key extension add deduping requests by a given key to the response manager * feat(requestmanager): use dedup extension use dedup extension to not dedup data across stores
-
- 04 Aug, 2020 1 commit
-
-
Hannah Howard authored
* style(imports): fix import formatting Fix import formatting via script. Also add script for import fixes and release log * docs(CHANGELOG): add changelog, contributing Add the changelog and a contributing guidelines doc
-
- 08 Jul, 2020 1 commit
-
-
Hannah Howard authored
All changes to date including pause requests & start paused, along with new adds for cleanups and checking of execution (#75) * WIP * feat(graphsync): pause/unpause requests Allow graphsync requests to be paused and unpaused via request cancelling and DoNotSendCIDs extension * fix(requestmanager): refactor executor remove extraneous allocation of closure functions * feat(graphsync): support external request pauses allow pausing requests imperatively via PauseRequest function * fix(lint): fix lint errors * feat(responsemanager): start requests paused add the ability for a hook to pause a response right when it's first received * feat(responsemanager): improve cancellation UX provide a mechanism for responders to learn a requestor cancelled a request and for requestors to learn a request was cancelled * feat(requestmanager): process request cancelled status process the responder returning a request cancelled error code and also support sentinel errors * feat(executor): refactor to remove loader remove loader, also only fire restart request as needed * fix(asyncloader): load requests synchronously when possible * fix(responsemanager): fix external pause Fix external pauses missing a block * fix(responsemanager): do not delay complete listener Run complete listener in same thread as response processing, making it less susceptable to interruption via cancel * fix(responsemanager): fix context check fix checking for context cancellation errors based off of the way ipld-prime does not wrap errors * fix(responsemanager): more precise cancel make cancels only get recorded if actual blocks are not sent -- otherwise the request is considered complete -- and the complete hook always runs * fix(requestmanager): handle non processed pauses Handler the case where a pause is requested but never actually takes place * refactor(responsemanager): handle cancels, correctly this time Properly handle cancels for both paused and unpaused states * fix(errors): remove regex cause it appears to be very slow * fix(traverser): fix race condition for shutdown make sure that the traverser is finished in the request executor * fix(deps): mod tidy * fix(executor): add back network error
-
- 27 May, 2020 2 commits
-
-
Hannah Howard authored
Provides full implementation of do-no-send-cids on responder side
-
Hannah Howard authored
* feat(graphsync): add incoming block hook types add types (not implemented) for incoming block hook * feat(asyncloader): identify local loads add a boolean value to AsyncLoadResult to determine if a request load was local * fixup! feat(graphsync): add incoming block hook types * feat(hooks): add block hooks plumbing * feat(requestmanager): process block hooks Process block hooks on each block, and connect last response to blocks * feat(peerresponsemanager): add transactions add the ability to do multple response operations with a gaurantee they will end up in a single response * refactor(lint): fix lint errors
-
- 21 Apr, 2020 3 commits
-
-
Hannah Howard authored
-
Hannah Howard authored
* feat(graphsync): add update to message add update to message protobuf. also fix deserialization error with cancel requests * feat(requestmanager): support updates for response hooks Support sending request updates in incoming response hooks. Also factor hooks out of request manager * refactor(hooks): make hooks approach consistent for ease of use and learning in library, make hooks structure consistent across requestor and responder * feat(responsemanager): update request processing Add the ability to processing update requests as needed * test(responsemanager): add more tests for update behavior * test(integration):add update integration test Add test to verify the whole update flow * fix(lint): fix lint error
-
Hannah Howard authored
* feat(deps): upgrade IPLD prime to last before refactor * refactor(responsemanager): refactor traversal switch to iterative traversal that is more amenable to interruption * feat(peerresponsemanager): add bytes sent to peer response sender Add a return value to SendResponse in peer response sender to return the number of block bytes transmitted. Note: does not count unsent blocks. Also convert block size measurements to uint64 * feat(responsemanager): add response pausing add first implementation of response pausing in response manager * refactor(responsemanager): extract classes to simplify response manager extract hooks as independant functionality * test(responsemanager): add tests for block hooks and request hooks * test(graphsync): add pause/resume integration test * fix(responsemanager): fix directory misname requesthooks.go directory -> requesthooks * fix(tests): cleanup races & lint * test(graphsync): fix flaky test
-
- 23 Mar, 2020 1 commit
-
-
hannahhoward authored
-
- 20 Mar, 2020 1 commit
-
-
hannahhoward authored
Remove the encode and decode on ipldbridge as part of ramp up to removing entirely Also move selector encode/decode to within protobuf encoding
-
- 02 Dec, 2019 1 commit
-
-
hannahhoward authored
When the request manager receives extensions in a request, it processes them and returns their response
-
- 11 Nov, 2019 1 commit
-
-
hannahhoward authored
To reduce future import cycles, and expose more types properly, move the root package to an interface/types file and move the main implementation into /impl. This also exposes an interface other implementers can replace.
-
- 03 Sep, 2019 1 commit
-
-
hannahhoward authored
limit the size of blocks sent in a response to 512k a.l.a. bitswap
-
- 23 Jul, 2019 1 commit
-
-
hannahhoward authored
Adds callbacks to manage connections, also removes network receiver methods from public graphsync interface, and updates libp2p to handle go-libp2p-core refactor
-
- 19 Apr, 2019 4 commits
-
-
hannahhoward authored
move link tracker out of response manager so it can be used for requests
-
hannahhoward authored
Creates the Response Manager that processes incoming requests, initiates selector traversal, and generates responses
-
hannahhoward authored
Refactor peer manager to handle abstract processes, then use the base class for the peer message manager and the peer response manager
-
hannahhoward authored
Create a response manager for a single peer to handle assembling and managing responses for a given peer
-