// The Router application registers RPC listeners to accept from the initiators // then registers RPC clients to each of the external services it may call. func main() { var err os.Error // Pull in command line options or defaults if none given flag.Parse() agent := skylib.NewAgent().Start() CreateInitialRoute() route, err = skylib.GetRoute(sName) if err != nil { log.Panic("Unable to retrieve route.") } r := &RouteService{Name: *skylib.Name} agent.Register(r).Wait() }
// The Router application registers RPC listeners to accept from the initiators // then registers RPC clients to each of the external services it may call. func main() { var err os.Error // Pull in command line options or defaults if none given flag.Parse() f, err := os.OpenFile(*skylib.LogFileName, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666) if err == nil { defer f.Close() log.SetOutput(f) } skylib.Setup(sName) CreateInitialRoute() route, err = skylib.GetRoute(sName) if err != nil { log.Panic("Unable to retrieve route.") } r := &RouteService{Name: *skylib.Name} rpc.Register(r) rpc.HandleHTTP() portString := fmt.Sprintf("%s:%d", *skylib.BindIP, *skylib.Port) l, e := net.Listen("tcp", portString) if e != nil { log.Fatal("listen error:", e) } log.Println("Starting server") http.Serve(l, nil) }