ref: Introduce options.ConnectionTimeout and remove options.RetryTimeout.

There were a few subleties during implementation:
(1) We needed to introduce flow.Manager.DialCached to ensure that
ConnectionTimeout == 0 means "only use a cached conn".
(2) To implement flow.Manager.DialCached, we need to introduce
conncache.FindWithRoutingID to ensure that we only return
connection to end servers when a rid is present, instead of
a connection to an intermediate proxy which is what would
happen if we proceeded with the network lookup.
(3) When retrying connection establishment, ConnectionTimeout == 0
must also imply options.NoRetry, otherwise we will unnecessarily
retry a connection establishment that is not in the cache. This
is not true for verror.RetryBackoff errors (errors returned from
applications) since they may be requesting a retry for arbritrary
reasons.

MultiPart: 2/3
Change-Id: I0ced8cbae9db94cabdcb30322f5e6fe6e40437e4
10 files changed
tree: 113f93ee783933c6995cea0ae8cee64a563b1bc1
  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.