remove EventSubscriber

This commit is contained in:
Anton Kaliaev
2019-02-11 12:48:39 +04:00
parent 421b3c11d4
commit a801b14850
5 changed files with 37 additions and 52 deletions

View File

@ -678,8 +678,17 @@ func (n *Node) startRPC() ([]net.Listener, error) {
for i, listenAddr := range listenAddrs {
mux := http.NewServeMux()
rpcLogger := n.Logger.With("module", "rpc-server")
wm := rpcserver.NewWebsocketManager(rpccore.Routes, coreCodec, rpcserver.EventSubscriber(n.eventBus))
wm.SetLogger(rpcLogger.With("protocol", "websocket"))
wmLogger := rpcLogger.With("protocol", "websocket")
wm := rpcserver.NewWebsocketManager(rpccore.Routes, coreCodec,
rpcserver.OnDisconnect(func(remoteAddr string) {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
err := n.eventBus.UnsubscribeAll(ctx, remoteAddr)
if err != nil {
wmLogger.Error("Failed to unsubscribe addr from events", "addr", remoteAddr, "err", err)
}
}))
wm.SetLogger(wmLogger)
mux.HandleFunc("/websocket", wm.WebsocketHandler)
rpcserver.RegisterRPCFuncs(mux, rpccore.Routes, coreCodec, rpcLogger)