github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/chat/flip/msgpack.go (about) 1 package flip 2 3 import ( 4 "github.com/keybase/go-codec/codec" 5 ) 6 7 func codecHandle() *codec.MsgpackHandle { 8 var mh codec.MsgpackHandle 9 mh.WriteExt = true 10 return &mh 11 } 12 13 func msgpackDecode(dst interface{}, src []byte) error { 14 h := codecHandle() 15 return codec.NewDecoderBytes(src, h).Decode(dst) 16 } 17 18 func msgpackEncode(src interface{}) ([]byte, error) { 19 h := codecHandle() 20 var ret []byte 21 err := codec.NewEncoderBytes(&ret, h).Encode(src) 22 if err != nil { 23 return nil, err 24 } 25 return ret, nil 26 }