The RefsAnnouncement previous announced its complete set of `rad/sigrefs`. This was useful in that verification can occur on the receiveing side immediately by verifying the refs and proceeding with the fetch -- note that it did nothing with the ref information it received. This can be minimised to only advertising the namespace, i.e. the NID, and the new SHA of the `rad/sigrefs`. This is represented by a new message type, `RefsAt`, which contains the NID and the Oid. For checking if an announcement is stale or fresh, the receiving side can check the existence of the SHA in its Git repository. The tests are appropriately modified to use NIDs and Oids. To prepare for a follow-up change, the announcement data is also threaded through for the fetch protocol to focus fetching only the advertised set of Oids. N.B.: because the refs aren't communicated, the verification happens when fetching since the data needs to be fetched before verifying. This is a trade-off with minimising the message payload for verifying earlier. Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett |
||
|---|---|---|
| .. | ||
| arbitrary.rs | ||
| assert.rs | ||
| fixtures.rs | ||
| storage.rs | ||