blob: 340489d9eb0e9b2447f18d81a044d2fa9a0e213d [file] [log] [blame]
Jiri Simsa78b646f2014-10-08 10:23:05 -07001package main
2
3import (
4 "flag"
5
Jiri Simsa22b87ac2014-12-25 20:59:13 -08006 "v.io/core/veyron2/rt"
Matt Rosencrantz2ffef742014-12-04 09:51:40 -08007
Jiri Simsa22b87ac2014-12-25 20:59:13 -08008 "v.io/core/veyron/lib/signals"
Adam Sadovskydf33b672014-10-27 15:50:22 -07009 // TODO(cnicolaou,benj): figure out how to support roaming as a chrome plugin
Jiri Simsa22b87ac2014-12-25 20:59:13 -080010 "v.io/core/veyron/profiles/roaming"
Jiri Simsa11277162014-12-25 15:50:27 -080011 "v.io/wspr/veyron/services/wsprd/wspr"
Jiri Simsa78b646f2014-10-08 10:23:05 -070012)
13
14func main() {
Jiri Simsa16c59e82014-10-08 10:39:25 -070015 port := flag.Int("port", 8124, "Port to listen on.")
Nicolas LaCassef74ec6a2014-12-22 10:22:52 -080016 identd := flag.String("identd", "", "name of identd server.")
Ankur5b802242014-10-29 11:32:21 -070017
Jiri Simsa78b646f2014-10-08 10:23:05 -070018 flag.Parse()
19
Matt Rosencrantz2ffef742014-12-04 09:51:40 -080020 r, err := rt.New()
21 if err != nil {
22 panic("Could not initialize runtime: " + err.Error())
23 }
Matt Rosencrantz549689a2014-11-27 20:04:50 -080024 defer r.Cleanup()
Jiri Simsa78b646f2014-10-08 10:23:05 -070025
Ankur7a477012014-12-09 10:29:29 -080026 proxy := wspr.NewWSPR(r, *port, roaming.New, &roaming.ListenSpec, *identd, nil)
Jiri Simsa78b646f2014-10-08 10:23:05 -070027 defer proxy.Shutdown()
Adam Sadovskydf33b672014-10-27 15:50:22 -070028
29 proxy.Listen()
Jiri Simsa78b646f2014-10-08 10:23:05 -070030 go func() {
Adam Sadovskydf33b672014-10-27 15:50:22 -070031 proxy.Serve()
Jiri Simsa78b646f2014-10-08 10:23:05 -070032 }()
33
Matt Rosencrantz549689a2014-11-27 20:04:50 -080034 <-signals.ShutdownOnSignals(r)
Jiri Simsa78b646f2014-10-08 10:23:05 -070035}