syncbase: Refactor watchable store clients to track resume markers.

Expanded watchable clients from update channels to structs encapsulating
update channels and sequence numbers (parsed resume markers). Clients
now act as iterators over the watch log.

This is in preparation for log garbage collection (watcher needs to know
when all clients are past a certain log record).

Also changed the sync watcher to stop watching when an error is
encountered instead of keep retrying since the watch client is
now an iterator. Watch should be restarted or the database
quarantined instead. Errors due to the store being closed (e.g.
database destruction) are still suppressed.

Change-Id: I78792fffeb3b85701860763c75b73326c86a51eb
6 files changed
tree: be10146b20e6da572d5783b9d6fe5c40a89b19af
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. envvar.go
  13. envvar_test.go
  14. LICENSE
  15. PATENTS
  16. README.md
  17. VERSION
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.