chainHead: Add support for storage pagination and cancellation (#14755)
* chainHead/api: Add `chain_head_unstable_continue` method Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/subscriptions: Register operations for pagination Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/subscriptions: Merge limits with registered operation Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/subscriptions: Expose the operation state Signed-off-by: Alexandru Vasile <[email protected]> * chain_head/storage: Generate WaitingForContinue event Signed-off-by: Alexandru Vasile <[email protected]> * chainHead: Use the continue operation Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/tests: Adjust testing to the new storage interface Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/config: Make pagination limit configurable Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/tests: Adjust chainHeadConfig Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/tests: Check pagination and continue method Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/api: Add `chainHead_unstable_stopOperation` method Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/subscription: Add shared atomic state for efficient alloc Signed-off-by: Alexandru Vasile <[email protected]> * chainHead: Implement operation stop Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/tests: Check that storage ops can be cancelled Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/storage: Change docs for query_storage_iter_pagination Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/subscriptions: Fix merge conflicts Signed-off-by: Alexandru Vasile <[email protected]> * chainHead: Replace `async-channel` with `tokio::sync` Signed-off-by: Alexandru Vasile <[email protected]> * chainHead/subscription: Add comment about the sender/recv continue Signed-off-by: Alexandru Vasile <[email protected]> --------- Signed-off-by: Alexandru Vasile <[email protected]>
parent
dbb48a5b
Please register or sign in to comment