mirror of https://github.com/jetkvm/kvm.git
Rename JSONRPCServer to JSONRPCRouter
This commit is contained in:
parent
d1abc4b7fb
commit
6fd978b382
|
@ -12,7 +12,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type JSONRPCServer struct {
|
type JSONRPCRouter struct {
|
||||||
writer io.Writer
|
writer io.Writer
|
||||||
|
|
||||||
handlers map[string]*RPCHandler
|
handlers map[string]*RPCHandler
|
||||||
|
@ -22,16 +22,14 @@ type JSONRPCServer struct {
|
||||||
responseChannels map[int64]chan JSONRPCResponse
|
responseChannels map[int64]chan JSONRPCResponse
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewJSONRPCServer(writer io.Writer, handlers map[string]*RPCHandler) *JSONRPCServer {
|
func NewJSONRPCRouter(writer io.Writer, handlers map[string]*RPCHandler) *JSONRPCRouter {
|
||||||
return &JSONRPCServer{
|
return &JSONRPCRouter{
|
||||||
writer: writer,
|
writer: writer,
|
||||||
handlers: handlers,
|
handlers: handlers,
|
||||||
responseChannels: make(map[int64]chan JSONRPCResponse),
|
|
||||||
nextId: atomic.Int64{},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *JSONRPCServer) Request(method string, params map[string]interface{}, result interface{}) *JSONRPCResponseError {
|
func (s *JSONRPCRouter) Request(method string, params map[string]interface{}, result interface{}) *JSONRPCResponseError {
|
||||||
id := s.nextId.Add(1)
|
id := s.nextId.Add(1)
|
||||||
request := JSONRPCRequest{
|
request := JSONRPCRequest{
|
||||||
JSONRPC: "2.0",
|
JSONRPC: "2.0",
|
||||||
|
@ -108,7 +106,7 @@ type JSONRPCMessage struct {
|
||||||
ID *int64 `json:"id,omitempty"`
|
ID *int64 `json:"id,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *JSONRPCServer) HandleMessage(data []byte) error {
|
func (s *JSONRPCRouter) HandleMessage(data []byte) error {
|
||||||
// Data will either be a JSONRPCRequest or JSONRPCResponse object
|
// Data will either be a JSONRPCRequest or JSONRPCResponse object
|
||||||
// We need to determine which one it is
|
// We need to determine which one it is
|
||||||
var raw JSONRPCMessage
|
var raw JSONRPCMessage
|
||||||
|
@ -193,7 +191,7 @@ func (s *JSONRPCServer) HandleMessage(data []byte) error {
|
||||||
return s.writeResponse(response)
|
return s.writeResponse(response)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *JSONRPCServer) writeResponse(response JSONRPCResponse) error {
|
func (s *JSONRPCRouter) writeResponse(response JSONRPCResponse) error {
|
||||||
responseBytes, err := json.Marshal(response)
|
responseBytes, err := json.Marshal(response)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
|
@ -34,8 +34,8 @@ func (w *DataChannelWriter) Write(data []byte) (int, error) {
|
||||||
return len(data), nil
|
return len(data), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDataChannelJsonRpcServer(dataChannel *webrtc.DataChannel) *jsonrpc.JSONRPCServer {
|
func NewDataChannelJsonRpcRouter(dataChannel *webrtc.DataChannel) *jsonrpc.JSONRPCRouter {
|
||||||
return jsonrpc.NewJSONRPCServer(
|
return jsonrpc.NewJSONRPCRouter(
|
||||||
NewDataChannelWriter(dataChannel),
|
NewDataChannelWriter(dataChannel),
|
||||||
rpcHandlers,
|
rpcHandlers,
|
||||||
)
|
)
|
||||||
|
|
|
@ -75,7 +75,7 @@ func newSession() (*Session, error) {
|
||||||
switch d.Label() {
|
switch d.Label() {
|
||||||
case "rpc":
|
case "rpc":
|
||||||
session.RPCChannel = d
|
session.RPCChannel = d
|
||||||
rpcServer := NewDataChannelJsonRpcServer(d)
|
rpcServer := NewDataChannelJsonRpcRouter(d)
|
||||||
d.OnMessage(func(msg webrtc.DataChannelMessage) {
|
d.OnMessage(func(msg webrtc.DataChannelMessage) {
|
||||||
go rpcServer.HandleMessage(msg.Data)
|
go rpcServer.HandleMessage(msg.Data)
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue