21 lines
400 B
Go
21 lines
400 B
Go
package cluster
|
|
|
|
import (
|
|
"bytes"
|
|
gogob "encoding/gob"
|
|
)
|
|
|
|
type gobMarshaler struct{}
|
|
|
|
func (gobMarshaler) Marshal(v interface{}) (b []byte, err error) {
|
|
buf := new(bytes.Buffer)
|
|
err = gogob.NewEncoder(buf).Encode(v)
|
|
b = buf.Bytes()
|
|
return
|
|
}
|
|
|
|
func (gobMarshaler) Unmarshal(data []byte, v interface{}) error {
|
|
return gogob.NewDecoder(bytes.NewBuffer(data)).Decode(v)
|
|
}
|
|
|
|
var gob = gobMarshaler{}
|