src.dualinventive.com/go/dinet/rpc/msg_json.go

23 lines
442 B
Go

package rpc
import (
"encoding/json"
)
// UnmarshalJSON deserializes JSON into a RPC message
func (m *Msg) UnmarshalJSON(data []byte) error {
return m.unmarshalGeneric(data, json.Unmarshal)
}
// MarshalJSON serializes a RPC message into JSON
func (m *Msg) MarshalJSON() ([]byte, error) {
msg := &msgMeta{msgAlias: (*msgAlias)(m)}
msg.MarshalPrepare()
d, err := json.Marshal(msg)
if err == nil {
m.rawBytes = d
}
return d, err
}