Merge branch 'develop' of github.com:tgerring/go-ethereum into develop
This commit is contained in:
		@@ -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 {
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,11 @@ package rpc
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"github.com/ethereum/go-ethereum/logger"
 | 
			
		||||
	"io"
 | 
			
		||||
	"net/http"
 | 
			
		||||
 | 
			
		||||
	"github.com/ethereum/go-ethereum/ethutil"
 | 
			
		||||
	"github.com/ethereum/go-ethereum/logger"
 | 
			
		||||
	"github.com/ethereum/go-ethereum/state"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -36,7 +37,7 @@ func (self JsonWrapper) Send(writer io.Writer, v interface{}) (n int, err error)
 | 
			
		||||
		rpclogger.Fatalln("Error marshalling JSON", err)
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
	rpclogger.Infof("Sending payload: %s", payload)
 | 
			
		||||
	rpclogger.DebugDetailf("Sending payload: %s", payload)
 | 
			
		||||
 | 
			
		||||
	return writer.Write(payload)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
	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)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user