veyron2/ipc: force all protocols, including tcp, to be registered.
- this change implements and uses a consistent mechanism for
registering the stream transport protocols to be used with RPC.
- it treats 'tcp' the same as any other 'user defined' protocol, such
as websockets or unixfd
- protocols are generally registered by importing their package, whose
init function performs the actual registration.
- the protocol packages should only be imported by profiles.
- in a future change, I propose to move lib/tcp, lib/websocket and lib/unixfd
to profiles/internal.
Change-Id: I139757441b865c9b22778d1f2d9d1d2586357d35
diff --git a/runtimes/google/ipc/stream/proxy/proxy.go b/runtimes/google/ipc/stream/proxy/proxy.go
index 0da73ce..eddef79 100644
--- a/runtimes/google/ipc/stream/proxy/proxy.go
+++ b/runtimes/google/ipc/stream/proxy/proxy.go
@@ -6,23 +6,23 @@
"net"
"sync"
- "veyron.io/veyron/veyron/runtimes/google/ipc/stream/crypto"
- "veyron.io/veyron/veyron/runtimes/google/ipc/stream/id"
- "veyron.io/veyron/veyron/runtimes/google/ipc/stream/message"
- "veyron.io/veyron/veyron/runtimes/google/ipc/stream/vc"
- "veyron.io/veyron/veyron/runtimes/google/ipc/stream/vif"
- "veyron.io/veyron/veyron/runtimes/google/ipc/stream/wslistener"
- "veyron.io/veyron/veyron/runtimes/google/ipc/version"
- "veyron.io/veyron/veyron/runtimes/google/lib/bqueue"
- "veyron.io/veyron/veyron/runtimes/google/lib/bqueue/drrqueue"
- "veyron.io/veyron/veyron/runtimes/google/lib/iobuf"
- "veyron.io/veyron/veyron/runtimes/google/lib/upcqueue"
-
"veyron.io/veyron/veyron2/naming"
"veyron.io/veyron/veyron2/security"
"veyron.io/veyron/veyron2/verror"
"veyron.io/veyron/veyron2/vlog"
"veyron.io/veyron/veyron2/vom"
+
+ "veyron.io/veyron/veyron/lib/websocket"
+ "veyron.io/veyron/veyron/runtimes/google/ipc/stream/crypto"
+ "veyron.io/veyron/veyron/runtimes/google/ipc/stream/id"
+ "veyron.io/veyron/veyron/runtimes/google/ipc/stream/message"
+ "veyron.io/veyron/veyron/runtimes/google/ipc/stream/vc"
+ "veyron.io/veyron/veyron/runtimes/google/ipc/stream/vif"
+ "veyron.io/veyron/veyron/runtimes/google/ipc/version"
+ "veyron.io/veyron/veyron/runtimes/google/lib/bqueue"
+ "veyron.io/veyron/veyron/runtimes/google/lib/bqueue/drrqueue"
+ "veyron.io/veyron/veyron/runtimes/google/lib/iobuf"
+ "veyron.io/veyron/veyron/runtimes/google/lib/upcqueue"
)
var (
@@ -136,7 +136,10 @@
if err != nil {
return nil, fmt.Errorf("net.Listen(%q, %q) failed: %v", network, address, err)
}
- ln = wslistener.NewListener(ln)
+ ln, err = websocket.NewListener(ln)
+ if err != nil {
+ return nil, err
+ }
if len(pubAddress) == 0 {
pubAddress = ln.Addr().String()
}