recover
How to recover from an error: the error's data.recover. Unless it is none, the error's data.next holds one concrete action that does it: an operation with its params, the same request sent again, or an lvcs command line.
| Value | Meaning |
|---|---|
wait | Wait for something outside the caller to change (an attestation, a sync, a holder releasing a range), then try again. |
retry_after | Send the same request again after the time the error gives, in data.retry_after_ms. |
rebase | Read the document again and redo the change from what it holds now. |
ask | Ask a participant who can allow it: the owner, or the issuer of the grant the request needs; for a peer whose release is older than this daemon's, its owner to upgrade. |
yield | Leave the range to the participant working on it, and work elsewhere. |
confirm | Confirm the request is what was meant, and it goes ahead. |
renew | Get the grant renewed, or a new grant, from its issuer. |
fork | Work in a forked workspace of your own instead, and merge it back later. |
join | Join the project as a participant first. |
fix_request | Change the request itself: its parameters, its path, or its operation. |
upgrade | An LVCS-owned file under .lvcs/ has a newer format than this lvcs reads, or a peer speaks a newer wire major than this daemon: install a newer lvcs, then run the command again. |
migrate | An LVCS-owned file under .lvcs/ has an older format, or none (written before format headers): run lvcs migrate in the project root with no daemon running, then run the command again. |
none | Nothing the caller can do changes the answer. |
Cardinality: 13.