fn save_in(
store: &dyn Store,
name: &str,
grant: &Grant,
) -> Result<(), SyncError>Expand description
Writes a grant under name without ever leaving it lost: the new token’s
parts first, under names of their own, noted beside it (generations);
then the first entry, which names them (the pointer); then it is read
back whole before the generation it replaced is forgotten. A write that
fails takes back what it wrote, and the grant kept before stays whole;
one that does not read back whole puts the entry it replaced back. A
read-back that the keyring does not answer, twice, leaves everything as
written: what it replaced, noted, goes at the next write or at removal.
Two writes crossing (the window and a command, each renewing the token)
leave the one written last, whole, and every part of the other noted.