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
Improve RawIter re-usability #175
Conversation
This allows holders of a `RawIter` to continue using that iterator even if they perform concurrent removals on the underlying table.
I like this much better! |
Thanks miri!
Thanks again miri!
Glad to hear it! I have now also implemented the necessary changes in griddle, and it seems to be sufficient: jonhoo/griddle#12. The The griddle test suite also passes, including a number of additional iterations of the quickcheck tests I've run locally, so I think this is ready now 🎉 |
One really awkward side-effect of this (and on jonhoo/griddle#12 in particular) is that griddle's |
Clone probably should depend on |
Is there anything more you'd like to see added to this PR? I've tried to document as I went, and have also added the appropriate "resume from |
Thanks! |
Creating a new iterator for a table is occasionally expensive,
especially if a suffix of the table (since we iterate "backwards") is
sparsely populated. This PR adds methods that allow re-using an existing
RawIter
in more situations.Replaces #167.