1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
package drpc
import (
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/proto"
)
type vtprotoMessage interface {
MarshalVT() ([]byte, error)
UnmarshalVT([]byte) error
}
func Marshal(msg interface{}) ([]byte, error) {
return msg.(vtprotoMessage).MarshalVT()
}
func Unmarshal(buf []byte, msg interface{}) error {
return msg.(vtprotoMessage).UnmarshalVT(buf)
}
func JSONMarshal(msg interface{}) ([]byte, error) {
return protojson.Marshal(msg.(proto.Message))
}
func JSONUnmarshal(buf []byte, msg interface{}) error {
return protojson.Unmarshal(buf, msg.(proto.Message))
}
|