package goxy import ( "log" "net/rpc" ) type GoXY struct { Server *Server } func Register(s *Server) { rpc.Register(&GoXY{s}) rpc.HandleHTTP() } // Add adds a new route func (s *GoXY) Add(e Entry, _ *struct{}) error { log.Println("Add route", e) defer s.Server.Save() s.Server.Route[e.ServerName] = e return s.Server.Restore() } // Del removes a route func (s *GoXY) Del(e Entry, _ *struct{}) error { log.Println("Del route", e) defer s.Server.Save() delete(s.Server.Route, e.ServerName) return s.Server.Restore() } // List routes func (s GoXY) List(_ struct{}, r *Route) error { *r = s.Server.Route return nil }