@@ -26,6 +26,7 @@ import (
26
26
"github.com/ethereum/go-ethereum/logger/glog"
27
27
"github.com/ethereum/go-ethereum/rpc/codec"
28
28
"github.com/ethereum/go-ethereum/rpc/shared"
29
+ "github.com/ethereum/go-ethereum/rpc/useragent"
29
30
)
30
31
31
32
func newIpcClient (cfg IpcConfig , codec codec.Codec ) (* ipcClient , error ) {
@@ -34,14 +35,34 @@ func newIpcClient(cfg IpcConfig, codec codec.Codec) (*ipcClient, error) {
34
35
return nil , err
35
36
}
36
37
37
- return & ipcClient {cfg .Endpoint , c , codec , codec .New (c )}, nil
38
+ coder := codec .New (c )
39
+ msg := shared.Request {
40
+ Id : 0 ,
41
+ Method : useragent .EnableUserAgentMethod ,
42
+ Jsonrpc : shared .JsonRpcVersion ,
43
+ Params : []byte ("[]" ),
44
+ }
45
+
46
+ coder .WriteResponse (msg )
47
+ coder .Recv ()
48
+
49
+ return & ipcClient {cfg .Endpoint , c , codec , coder }, nil
38
50
}
39
51
40
52
func (self * ipcClient ) reconnect () error {
41
53
self .coder .Close ()
42
54
c , err := net .DialUnix ("unix" , nil , & net.UnixAddr {self .endpoint , "unix" })
43
55
if err == nil {
44
56
self .coder = self .codec .New (c )
57
+
58
+ msg := shared.Request {
59
+ Id : 0 ,
60
+ Method : useragent .EnableUserAgentMethod ,
61
+ Jsonrpc : shared .JsonRpcVersion ,
62
+ Params : []byte ("[]" ),
63
+ }
64
+ self .coder .WriteResponse (msg )
65
+ self .coder .Recv ()
45
66
}
46
67
47
68
return err
0 commit comments