Repository navigation
feat: seal messages under batch keys with the wrap in the head and open them through a batch key cache - #140
Merged
Merged
Conversation
…en them through a batch key cache
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
keys::Batches: one open batch per tenant, generation and shard, rotated after 1,024 seals, 60 s or a day change; batch id = first message key; the wrap seals a random batch key to the day public key; every batch key enters a bounded delivery cache that answers only its own tenant and generation and is never overwritten by another owner.Ring::unwrap: local wrap check, single call per tenant, generation, shard and batch, a joining call with another wrap is refused; faultsGoneandBad.Node::sealing(&draft, shard)takes a new message id and sealsHEAD(one seal over length, envelope and headers), the body (inline or chunks) and slices, each item once.Node::openerchecks the wrap's generation, shard and day against the head and opens each item under its own label.HEADstores the wrap before the sealed bytes; the clear head carries the wrap day.sched::Keysjoins the key source and batch keys;Keyringimplements it.Part of #129