diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go index 43ad88c55..c26dab44c 100644 --- a/cmd/utils/cmd.go +++ b/cmd/utils/cmd.go @@ -205,7 +205,7 @@ func StartWebSockets(eth *eth.Ethereum, wsPort int) { clilogger.Infoln("Starting WebSockets") var err error - eth.WsServer, err = rpcws.NewWebSocketServer(eth, wsPort) + eth.WsServer, err = rpcws.NewWebSocketServer(xeth.New(eth), wsPort) if err != nil { clilogger.Errorf("Could not start RPC interface (port %v): %v", wsPort, err) } else { diff --git a/rpc/ws/server.go b/rpc/ws/server.go index 2853181ec..85cacf80b 100644 --- a/rpc/ws/server.go +++ b/rpc/ws/server.go @@ -22,8 +22,6 @@ import ( "net/http" "code.google.com/p/go.net/websocket" - "github.com/ethereum/go-ethereum/eth" - "github.com/ethereum/go-ethereum/event/filter" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/xeth" @@ -32,25 +30,21 @@ import ( var wslogger = logger.NewLogger("RPC-WS") type WebSocketServer struct { - eth *eth.Ethereum - filterManager *filter.FilterManager - port int - doneCh chan bool - listener net.Listener + pipe *xeth.XEth + port int + doneCh chan bool + listener net.Listener } -func NewWebSocketServer(eth *eth.Ethereum, port int) (*WebSocketServer, error) { +func NewWebSocketServer(pipe *xeth.XEth, port int) (*WebSocketServer, error) { sport := fmt.Sprintf(":%d", port) l, err := net.Listen("tcp", sport) if err != nil { return nil, err } - filterManager := filter.NewFilterManager(eth.EventMux()) - go filterManager.Start() - - return &WebSocketServer{eth, - filterManager, + return &WebSocketServer{ + pipe, port, make(chan bool), l, @@ -75,7 +69,7 @@ func (self *WebSocketServer) Start() { wslogger.Infof("Starting RPC-WS server on port %d", self.port) go self.handlerLoop() - api := rpc.NewEthereumApi(xeth.New(self.eth)) + api := rpc.NewEthereumApi(self.pipe) h := self.apiHandler(api) http.Handle("/ws", h)