Skip to content

Commit 04910c9

Browse files
committed
support for large request/response on windows
1 parent ffbe565 commit 04910c9

File tree

1 file changed

+8
-31
lines changed

1 file changed

+8
-31
lines changed

rpc/comms/ipc_windows.go

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ func newIpcClient(cfg IpcConfig, codec codec.Codec) (*ipcClient, error) {
640640
return nil, err
641641
}
642642

643-
return &ipcClient{cfg.Endpoint, codec, codec.New(c)}, nil
643+
return &ipcClient{cfg.Endpoint, c, codec, codec.New(c)}, nil
644644
}
645645

646646
func (self *ipcClient) reconnect() error {
@@ -667,36 +667,13 @@ func startIpc(cfg IpcConfig, codec codec.Codec, api shared.EthereumApi) error {
667667
glog.V(logger.Error).Infof("Error accepting ipc connection - %v\n", err)
668668
continue
669669
}
670-
671-
go func(conn net.Conn) {
672-
codec := codec.New(conn)
673-
674-
for {
675-
req, err := codec.ReadRequest()
676-
if err == io.EOF {
677-
codec.Close()
678-
return
679-
} else if err != nil {
680-
glog.V(logger.Error).Infof("IPC recv err - %v\n", err)
681-
codec.Close()
682-
return
683-
}
684-
685-
var rpcResponse interface{}
686-
res, err := api.Execute(req)
687-
688-
rpcResponse = shared.NewRpcResponse(req.Id, req.Jsonrpc, res, err)
689-
err = codec.WriteResponse(rpcResponse)
690-
if err != nil {
691-
glog.V(logger.Error).Infof("IPC send err - %v\n", err)
692-
codec.Close()
693-
return
694-
}
695-
}
696-
}(conn)
697-
}
698-
}()
699-
670+
671+
go handle(conn, api, codec)
672+
}
673+
674+
os.Remove(cfg.Endpoint)
675+
}()
676+
700677
glog.V(logger.Info).Infof("IPC service started (%s)\n", cfg.Endpoint)
701678

702679
return nil

0 commit comments

Comments
 (0)