TBR
v: renaming the v directory to go
Change-Id: I4fd9f6ee2895d8034c23b65927eb118980b3c17a
diff --git a/services/mgmt/profile/profiled/main.go b/services/mgmt/profile/profiled/main.go
new file mode 100644
index 0000000..0162f5f
--- /dev/null
+++ b/services/mgmt/profile/profiled/main.go
@@ -0,0 +1,48 @@
+package main
+
+import (
+ "flag"
+
+ "veyron/lib/signals"
+ "veyron/services/mgmt/profile/impl"
+
+ "veyron2/rt"
+ "veyron2/vlog"
+)
+
+func main() {
+ var storeName string
+ flag.StringVar(&storeName, "store", "", "veyron name of the profile manager store")
+ flag.Parse()
+ if storeName == "" {
+ vlog.Fatalf("Specify a store using --store=<name>")
+ }
+ runtime := rt.Init()
+ defer runtime.Shutdown()
+ server, err := runtime.NewServer()
+ if err != nil {
+ vlog.Fatalf("NewServer() failed: %v", err)
+ }
+ defer server.Stop()
+ dispatcher, err := impl.NewDispatcher(storeName)
+ if err != nil {
+ vlog.Fatalf("NewDispatcher() failed: %v", err)
+ }
+ suffix := ""
+ if err := server.Register(suffix, dispatcher); err != nil {
+ vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
+ }
+ protocol, hostname := "tcp", "localhost:0"
+ endpoint, err := server.Listen(protocol, hostname)
+ if err != nil {
+ vlog.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
+ }
+ name := ""
+ if err := server.Publish(name); err != nil {
+ vlog.Fatalf("Publish(%v) failed: %v", name, err)
+ }
+ vlog.VI(0).Infof("Profile manager published at %v/%v", endpoint, name)
+
+ // Wait until shutdown.
+ <-signals.ShutdownOnSignals()
+}