Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hnix-store-remote: Remove ExceptT, use DList to accumulate log. #63

Closed

Conversation

TravisWhitaker
Copy link
Contributor

This PR refactors two bits in the worker protocol implementation:

  • A superfluous ExceptT layer is removed. IO is at the base of the stack anyway, so nothing is gained from adding and additional, out-of-band error handling mechanism; callers that care about IO failure will have a set of exception handlers anyway.
  • DList is used to accumulate the log. It seems that for long-running interactions with the store there should be a way to stream these log chunks, but this is a partial improvement that isn't opinionated about how the streaming is done.

@sorki
Copy link
Member

sorki commented Apr 6, 2020

Thank you, your PR is similar to #52 which uses pipes. We need to get #59 merged and then we can decide on streaming and further improvements.

@Anton-Latukha
Copy link
Contributor

Anton-Latukha commented Nov 22, 2021

Added a DList benchmarks into: https://github.com/haskell-perf/sequences

@sorki sorki added the remote `hnix-store-remote` related label Nov 28, 2023
sorki added a commit that referenced this pull request Dec 3, 2023
instead of slow-to-append-to list. Thanks for the suggestion!

Closes #63.

Co-Authored-By: Travis Whitaker <pi.boy.travis@gmail.com>
sorki added a commit that referenced this pull request Dec 6, 2023
instead of slow-to-append-to list. Thanks for the suggestion!

Closes #63.

Co-Authored-By: Travis Whitaker <pi.boy.travis@gmail.com>
sorki added a commit that referenced this pull request Dec 7, 2023
instead of slow-to-append-to list. Thanks for the suggestion!

Closes #63.

Co-Authored-By: Travis Whitaker <pi.boy.travis@gmail.com>
@sorki sorki closed this in b506f1a Dec 7, 2023
@sorki
Copy link
Member

sorki commented Dec 7, 2023

Thank you! The ExceptT layer is now used pretty extensively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
remote `hnix-store-remote` related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants