blob: 73a36adfed55915fcfd1e86d5bd985d6cbcbf87e [file] [log] [blame]
Cosmos Nicolaouef323db2014-09-07 22:13:28 -07001// +build ignore
2
3package main
4
5import (
6 "fmt"
7
Jiri Simsa519c5072014-09-17 21:37:57 -07008 "veyron.io/veyron/veyron2/ipc"
9 "veyron.io/veyron/veyron2/rt"
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070010
Jiri Simsa519c5072014-09-17 21:37:57 -070011 "veyron.io/veyron/veyron/profiles/roaming"
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070012)
13
14func main() {
15 r := rt.Init()
16 defer r.Cleanup()
17 log := r.Logger()
18
19 server, err := r.NewServer()
20 defer server.Stop()
21 if err != nil {
22 log.Fatalf("unexpected error: %q", err)
23 }
24
Cosmos Nicolaou778cb7e2014-09-10 15:07:43 -070025 fmt.Printf("listen spec: %v\n", roaming.ListenSpec)
26 ep, err := server.ListenX(roaming.ListenSpec)
Cosmos Nicolaouef323db2014-09-07 22:13:28 -070027 if err != nil {
28 log.Fatalf("unexpected error: %q", err)
29 }
30 if ep != nil {
31 fmt.Println(ep)
32 }
33 if err := server.Serve("roamer", ipc.LeafDispatcher(&dispatcher{}, nil)); err != nil {
34 log.Fatalf("unexpected error: %q", err)
35 }
36
37 done := make(chan struct{})
38 <-done
39}
40
41type dispatcher struct{}
42
43func (d *dispatcher) Echo(call ipc.ServerCall, arg string) (string, error) {
44 return arg, nil
45}