*: proto refactoring

This commit is contained in:
Xiang Li
2014-10-11 20:41:00 +08:00
parent 2b03d35ab9
commit f98fbbfc14
6 changed files with 68 additions and 63 deletions

25
pkg/pbutil/pbutil.go Normal file
View 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)
}
}