mirror of
https://github.com/eosswedenorg/thalos
synced 2026-06-17 04:30:03 +02:00
api/go.mod: wwitch github.com/shamaton/msgpack/v2 to github.com/ugorji/go/codec
This commit is contained in:
parent
ba05d3d7de
commit
af6d72946f
5 changed files with 80 additions and 1224 deletions
|
|
@ -1,18 +1,34 @@
|
|||
package msgpack
|
||||
|
||||
import (
|
||||
"github.com/shamaton/msgpack/v2"
|
||||
"reflect"
|
||||
|
||||
"github.com/ugorji/go/codec"
|
||||
|
||||
"github.com/eosswedenorg/thalos/api/message"
|
||||
)
|
||||
|
||||
//go:generate msgpackgen -v -input-file ../types.go -output-file msgpack.go
|
||||
var mh codec.MsgpackHandle
|
||||
|
||||
func encode(a any) ([]byte, error) {
|
||||
var b []byte
|
||||
return b, codec.NewEncoderBytes(&b, &mh).Encode(a)
|
||||
}
|
||||
|
||||
func decode(b []byte, a any) error {
|
||||
return codec.NewDecoderBytes(b, &mh).Decode(a)
|
||||
}
|
||||
|
||||
func init() {
|
||||
RegisterGeneratedResolver()
|
||||
mh.MapType = reflect.TypeOf(map[string]any(nil))
|
||||
mh.Canonical = true
|
||||
|
||||
// Wierd name but this is needed for the newest version of msgpack
|
||||
// that has support for time and string datatypes etc.
|
||||
mh.WriteExt = true
|
||||
|
||||
message.RegisterCodec("msgpack", message.Codec{
|
||||
Encoder: msgpack.Marshal,
|
||||
Decoder: msgpack.Unmarshal,
|
||||
Encoder: encode,
|
||||
Decoder: decode,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue