Skip to main content

save_in

Function save_in 

Source
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.