-
Notifications
You must be signed in to change notification settings - Fork 338
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
Key- and value-only iteration #1834
Conversation
aa7675e
to
d01f1b7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great start. Now what is missing is a contract using those imports. This would be implementing ExternalStorage::range_keys
and ExternalStorage::range_values
manually through the C imports
Co-authored-by: Simon Warta <[email protected]>
39701b5
to
9d97558
Compare
bc78109
to
28459fa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice. We just need a CHANGELOG entry here
struct ExternalPartialIterator { | ||
iterator_id: u32, | ||
partial_type: PartialType, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking about implementing Iterator for the enum directly:
enum ExternalPartialIterator {
Keys { iterator_id: u32 },
Values { iterator_id: u32 },
}
However, I don't see any strong benefit and it makes it harder to add fields, so feel free to ignore if not useful.
Co-authored-by: Simon Warta <[email protected]>
Closes #1498
This completes step 1, the first half of step 2 and step 4 of the corresponding issue.
The rest is tbd in wasmvm.