veyron/runtimes/google/ipc: refactor Listen loop code - back from the rollback...
- deleted commented out old code.
- cleaned up Listen implementation, the only behavioural difference
is that we now publish both local+proxy addresses for objects that
are being proxied.
- cleaned up the proxy retry loop.
- made it possible to use the proxy without a local listener.
- Dial takes a timeout argument.
Change-Id: Ia7598de824593b937d9d562f0597c7dc4100f88e
diff --git a/runtimes/google/ipc/client.go b/runtimes/google/ipc/client.go
index e828b51..8451c3e 100644
--- a/runtimes/google/ipc/client.go
+++ b/runtimes/google/ipc/client.go
@@ -247,9 +247,11 @@
return nil, verror.NoExistf("ipc: Resolve(%q) failed: %v", name, err)
}
}
+
// Try all servers, and if none of them are authorized for the call then return the error of the last server
// that was tried.
var lastErr verror.E
+ // TODO(cnicolaou): sort servers by sensible metric.
for _, server := range servers {
flow, suffix, err := c.connectFlow(server)
if err != nil {