- 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.
-
- 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
-
- 31 Jul, 2020 1 commit
-
-
Hannah Howard authored
* feat(persistenceoptions): add unregister ability add unregister ability to persistence options so we can create short lived options for single requests * fix(lint): fix lint issues
-
- 15 Jul, 2020 2 commits
-
-
hannahhoward authored
This reverts commit 31cc0d5e. Needs further exploration
-
Hannah Howard authored
* feat(hooks): add extensions on complete add the ability to send extensions with a final message * refactor(hooks): complete listener->hook rename
-
- 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
-
- 02 Jul, 2020 1 commit
-
-
Hannah Howard authored
* feat(responsemanager): add ability to pause response outside of a hook Add the ability for anyone who knows a requestID & peer to pause a response at any time * feat(responsemanager): add direct cancellations add function to directly cancel responses from requestID. also, move query execution code to seperate struct, internal for now * fix(responsemanager): minor heap allocation optimization * feat(responsemanager): support extensions on resume Support sending extensions when resuming a request * fix(lint): fix lint errors
-
- 27 May, 2020 1 commit
-
-
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
-
- 08 Apr, 2020 1 commit
-
-
Hannah Howard authored
* feat(graphsync): define hook interfaces, test infrastructure rename hooks, add outgoing request hook, define chain types for node builder chooser tests * feat(graphsync): define persistence option add persistence options to asyncloader & responsemanager + handling * feat(graphsync): complete persistence / node builder chooser roundtrip * fix(lint): fix lint errors
-
- 02 Apr, 2020 1 commit
-
-
Hannah Howard authored
* refactor(hooks): refactor default validation as hook, add unregister option * feat(graphsync): add disable default validation option * fix(responsemanager): fix mutex unlocking cover case where unlocking was not happening
-
- 23 Mar, 2020 3 commits
-
-
hannahhoward authored
-
hannahhoward authored
-
hannahhoward authored
remove remaining methods for ipld bridge
-
- 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
-
- 03 Dec, 2019 4 commits
-
-
Hannah Howard authored
DRY up integration test so it's more clear what each test is doing
-
hannahhoward authored
Add processing of on extensions in responses in the request manager
-
hannahhoward authored
define types and mock implementation for supporting extensions
-
hannahhoward authored
refactor hook interface to pass an actions object
-
- 02 Dec, 2019 2 commits
-
-
hannahhoward authored
When the request manager receives extensions in a request, it processes them and returns their response
-
hannahhoward authored
define types and mock implementation for supporting extensions
-
- 18 Nov, 2019 1 commit
-
-
hannahhoward authored
add the ability to send extensions when creating requests
-
- 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.
-
- 30 Jul, 2019 1 commit
-
-
hannahhoward authored
downgrade logging in ReceiveError to an Info level warning to match Bitswap ReceiveError behavior
-
- 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
-
- 20 Jul, 2019 1 commit
-
-
hannahhoward authored
Updates IPLD Bridge to use latest go-ipld-prime and runs and actual round trip test using GraphSync, go-ipld-prime, and real selectors
-
- 11 Jun, 2019 1 commit
-
-
hannahhoward authored
-
- 10 May, 2019 1 commit
-
-
hannahhoward authored
-
- 19 Apr, 2019 6 commits
-
-
hannahhoward authored
Successfully execute query on remote system and return results
-
hannahhoward authored
Move ResponseProgress to the types package and extract some testing functions to testutil
-
hannahhoward authored
Make the request manager actually inject responses from the network, and perform a selector verification
-
hannahhoward authored
Complete functionality to initialize response manager and process incoming requests fix #7, fix #8
-
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
Initializes a new top level interface that brings together all the components so far to send a request across the network fix #6
-