mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
*: proto refactoring
This commit is contained in:
25
pkg/pbutil/pbutil.go
Normal file
25
pkg/pbutil/pbutil.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package pbutil
|
||||
|
||||
import "log"
|
||||
|
||||
type Marshaler interface {
|
||||
Marshal() (data []byte, err error)
|
||||
}
|
||||
|
||||
type Unmarshaler interface {
|
||||
Unmarshal(data []byte) error
|
||||
}
|
||||
|
||||
func MustMarshal(m Marshaler) []byte {
|
||||
d, err := m.Marshal()
|
||||
if err != nil {
|
||||
log.Panicf("pbutil: %v", err)
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
||||
func MustUnmarshal(um Unmarshaler, data []byte) {
|
||||
if err := um.Unmarshal(data); err != nil {
|
||||
log.Panicf("pbutil: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user