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/profiles/static/static.go b/profiles/static/static.go
index 2720f1d..86cda56 100644
--- a/profiles/static/static.go
+++ b/profiles/static/static.go
@@ -14,8 +14,11 @@
"veyron.io/veyron/veyron/lib/appcycle"
"veyron.io/veyron/veyron/lib/flags"
"veyron.io/veyron/veyron/lib/netstate"
- "veyron.io/veyron/veyron/profiles"
+ _ "veyron.io/veyron/veyron/lib/tcp"
+ _ "veyron.io/veyron/veyron/lib/websocket"
"veyron.io/veyron/veyron/profiles/internal"
+ "veyron.io/veyron/veyron/profiles/internal/platform"
+ _ "veyron.io/veyron/veyron/runtimes/google/rt"
"veyron.io/veyron/veyron/services/mgmt/debug"
// TODO(cnicolaou,ashankar): move this into flags.
sflag "veyron.io/veyron/veyron/security/flag"
@@ -53,8 +56,8 @@
}
func (*static) Platform() *veyron2.Platform {
- p, _ := profiles.Platform()
- return p
+ pstr, _ := platform.Platform()
+ return pstr
}
func (p *static) Init(rt veyron2.Runtime, _ *config.Publisher) (veyron2.AppCycle, error) {