Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCodec ¶
NewCodec returns a msgpack codec for T backed by vmihailenco/msgpack/v5. It is safe for concurrent use.
Example ¶
package main
import (
"fmt"
msgpack "github.com/foomo/goencode/msgpack/vmihailenco"
)
func main() {
type Data struct {
Name string `msgpack:"name"`
}
c := msgpack.NewCodec[Data]()
encoded, err := c.Encode(Data{Name: "example-123"})
if err != nil {
fmt.Printf("Encode failed: %v\n", err)
return
}
var decoded Data
if err := c.Decode(encoded, &decoded); err != nil {
fmt.Printf("Decode failed: %v\n", err)
return
}
fmt.Printf("Decoded Name: %s\n", decoded.Name)
}
Output: Decoded Name: example-123
func NewStreamCodec ¶
func NewStreamCodec[T any]() encoding.StreamCodec[T]
NewStreamCodec returns a msgpack stream codec for T backed by vmihailenco/msgpack/v5. It is safe for concurrent use.
Example ¶
package main
import (
"bytes"
"fmt"
msgpack "github.com/foomo/goencode/msgpack/vmihailenco"
)
func main() {
type Data struct {
Name string `msgpack:"name"`
}
c := msgpack.NewStreamCodec[Data]()
var buf bytes.Buffer
if err := c.Encode(&buf, Data{Name: "example-123"}); err != nil {
fmt.Printf("Encode failed: %v\n", err)
return
}
var decoded Data
if err := c.Decode(&buf, &decoded); err != nil {
fmt.Printf("Decode failed: %v\n", err)
return
}
fmt.Printf("Decoded Name: %s\n", decoded.Name)
}
Output: Decoded Name: example-123
func StreamDecoder ¶
StreamDecoder decodes T from a msgpack stream (vmihailenco).
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.