@@ -12,7 +12,7 @@ import (
12
12
"time"
13
13
)
14
14
15
- type JSONRPCRouter struct {
15
+ type JSONRPCServer struct {
16
16
writer io.Writer
17
17
18
18
handlers map [string ]* RPCHandler
@@ -22,14 +22,16 @@ type JSONRPCRouter struct {
22
22
responseChannels map [int64 ]chan JSONRPCResponse
23
23
}
24
24
25
- func NewJSONRPCRouter (writer io.Writer , handlers map [string ]* RPCHandler ) * JSONRPCRouter {
26
- return & JSONRPCRouter {
27
- writer : writer ,
28
- handlers : handlers ,
25
+ func NewJSONRPCServer (writer io.Writer , handlers map [string ]* RPCHandler ) * JSONRPCServer {
26
+ return & JSONRPCServer {
27
+ writer : writer ,
28
+ handlers : handlers ,
29
+ responseChannels : make (map [int64 ]chan JSONRPCResponse ),
30
+ nextId : atomic.Int64 {},
29
31
}
30
32
}
31
33
32
- func (s * JSONRPCRouter ) Request (method string , params map [string ]interface {}, result interface {}) * JSONRPCResponseError {
34
+ func (s * JSONRPCServer ) Request (method string , params map [string ]interface {}, result interface {}) * JSONRPCResponseError {
33
35
id := s .nextId .Add (1 )
34
36
request := JSONRPCRequest {
35
37
JSONRPC : "2.0" ,
@@ -106,7 +108,7 @@ type JSONRPCMessage struct {
106
108
ID * int64 `json:"id,omitempty"`
107
109
}
108
110
109
- func (s * JSONRPCRouter ) HandleMessage (data []byte ) error {
111
+ func (s * JSONRPCServer ) HandleMessage (data []byte ) error {
110
112
// Data will either be a JSONRPCRequest or JSONRPCResponse object
111
113
// We need to determine which one it is
112
114
var raw JSONRPCMessage
@@ -191,7 +193,7 @@ func (s *JSONRPCRouter) HandleMessage(data []byte) error {
191
193
return s .writeResponse (response )
192
194
}
193
195
194
- func (s * JSONRPCRouter ) writeResponse (response JSONRPCResponse ) error {
196
+ func (s * JSONRPCServer ) writeResponse (response JSONRPCResponse ) error {
195
197
responseBytes , err := json .Marshal (response )
196
198
if err != nil {
197
199
return err
0 commit comments