Start - starts a service for remote clients to subscribe to events
()
| 90 | |
| 91 | // Start - starts a service for remote clients to subscribe to events |
| 92 | func (server *Server) Start() error { |
| 93 | var err error |
| 94 | service := server.service |
| 95 | if !service.started { |
| 96 | rpcServer := rpc.NewServer() |
| 97 | rpcServer.Register(service) |
| 98 | rpcServer.HandleHTTP(server.path, "/debug"+server.path) |
| 99 | l, e := net.Listen("tcp", server.address) |
| 100 | if e != nil { |
| 101 | err = e |
| 102 | fmt.Errorf("listen error: %v", e) |
| 103 | } |
| 104 | service.started = true |
| 105 | service.wg.Add(1) |
| 106 | go http.Serve(l, nil) |
| 107 | } else { |
| 108 | err = errors.New("Server bus already started") |
| 109 | } |
| 110 | return err |
| 111 | } |
| 112 | |
| 113 | // Stop - signal for the service to stop serving |
| 114 | func (server *Server) Stop() { |