Use enumerated kind in boltdb proto message

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
This commit is contained in:
Derek McGowan 2017-03-16 10:15:56 -07:00
parent 912746b016
commit 73f467a32b
No known key found for this signature in database
GPG key ID: F58C5D0A4405ACDB
3 changed files with 89 additions and 42 deletions

View file

@ -34,10 +34,34 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// Kind defines the kind of snapshot.
type Kind int32
const (
// KindActive represents an active snapshot
KindActive Kind = 0
// KindCommitted represents a committed immutable snapshot
KindCommitted Kind = 1
)
var Kind_name = map[int32]string{
0: "ACTIVE",
1: "COMMITTED",
}
var Kind_value = map[string]int32{
"ACTIVE": 0,
"COMMITTED": 1,
}
func (x Kind) String() string {
return proto.EnumName(Kind_name, int32(x))
}
func (Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptorRecord, []int{0} }
type Snapshot struct {
ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
Active bool `protobuf:"varint,4,opt,name=active,proto3" json:"active,omitempty"`
Kind Kind `protobuf:"varint,4,opt,name=kind,proto3,enum=containerd.v1.Kind" json:"kind,omitempty"`
Readonly bool `protobuf:"varint,5,opt,name=readonly,proto3" json:"readonly,omitempty"`
}
@ -47,6 +71,7 @@ func (*Snapshot) Descriptor() ([]byte, []int) { return fileDescriptorRecord, []i
func init() {
proto.RegisterType((*Snapshot)(nil), "containerd.v1.Snapshot")
proto.RegisterEnum("containerd.v1.Kind", Kind_name, Kind_value)
}
func (m *Snapshot) Marshal() (dAtA []byte, err error) {
size := m.Size()
@ -74,15 +99,10 @@ func (m *Snapshot) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintRecord(dAtA, i, uint64(len(m.Parent)))
i += copy(dAtA[i:], m.Parent)
}
if m.Active {
if m.Kind != 0 {
dAtA[i] = 0x20
i++
if m.Active {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i++
i = encodeVarintRecord(dAtA, i, uint64(m.Kind))
}
if m.Readonly {
dAtA[i] = 0x28
@ -134,8 +154,8 @@ func (m *Snapshot) Size() (n int) {
if l > 0 {
n += 1 + l + sovRecord(uint64(l))
}
if m.Active {
n += 2
if m.Kind != 0 {
n += 1 + sovRecord(uint64(m.Kind))
}
if m.Readonly {
n += 2
@ -163,7 +183,7 @@ func (this *Snapshot) String() string {
s := strings.Join([]string{`&Snapshot{`,
`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
`Parent:` + fmt.Sprintf("%v", this.Parent) + `,`,
`Active:` + fmt.Sprintf("%v", this.Active) + `,`,
`Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
`Readonly:` + fmt.Sprintf("%v", this.Readonly) + `,`,
`}`,
}, "")
@ -256,9 +276,9 @@ func (m *Snapshot) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
case 4:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Active", wireType)
return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
}
var v int
m.Kind = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowRecord
@ -268,12 +288,11 @@ func (m *Snapshot) Unmarshal(dAtA []byte) error {
}
b := dAtA[iNdEx]
iNdEx++
v |= (int(b) & 0x7F) << shift
m.Kind |= (Kind(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
m.Active = bool(v != 0)
case 5:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Readonly", wireType)
@ -425,20 +444,25 @@ func init() {
}
var fileDescriptorRecord = []byte{
// 225 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0x8e, 0xb1, 0x4e, 0xc3, 0x30,
0x10, 0x86, 0x7b, 0x51, 0x89, 0x82, 0x25, 0x96, 0x08, 0x55, 0x56, 0x07, 0x13, 0x31, 0x65, 0x8a,
0x85, 0x78, 0x02, 0x2a, 0x16, 0xd6, 0xf0, 0x04, 0x8e, 0x6d, 0xa5, 0x16, 0xc5, 0x17, 0x5d, 0x8e,
0x4a, 0x6c, 0x3c, 0x5e, 0x47, 0x46, 0x26, 0x44, 0xfd, 0x24, 0xa8, 0x21, 0xa2, 0xdb, 0x7d, 0xf7,
0xdd, 0xfd, 0xfa, 0xc5, 0x43, 0x1f, 0x78, 0xfb, 0xd6, 0x35, 0x16, 0x5f, 0xb5, 0x43, 0xfb, 0xe2,
0x49, 0x5b, 0x8c, 0x6c, 0x42, 0xf4, 0xe4, 0xf4, 0x18, 0xcd, 0x30, 0x6e, 0x91, 0xf5, 0xc8, 0x48,
0xa6, 0xf7, 0xba, 0xc3, 0x1d, 0xbb, 0x4e, 0x93, 0xb7, 0x48, 0xae, 0x19, 0x08, 0x19, 0xcb, 0xab,
0xf3, 0x43, 0xb3, 0xbf, 0x5b, 0x5f, 0xf7, 0xd8, 0xe3, 0x64, 0xf4, 0x69, 0xfa, 0x3b, 0xba, 0x8d,
0xa2, 0x78, 0x9e, 0xc3, 0xca, 0x95, 0xc8, 0x82, 0x93, 0x50, 0x41, 0xbd, 0xdc, 0xe4, 0xe9, 0xfb,
0x26, 0x7b, 0x7a, 0x6c, 0xb3, 0xe0, 0xca, 0x95, 0xc8, 0x07, 0x43, 0x3e, 0xb2, 0xcc, 0x2a, 0xa8,
0x2f, 0xdb, 0x99, 0x4e, 0x7b, 0x63, 0x39, 0xec, 0xbd, 0x5c, 0x56, 0x50, 0x17, 0xed, 0x4c, 0xe5,
0x5a, 0x14, 0xe4, 0x8d, 0xc3, 0xb8, 0x7b, 0x97, 0x17, 0x93, 0xf9, 0xe7, 0x8d, 0x3c, 0x1c, 0xd5,
0xe2, 0xeb, 0xa8, 0x16, 0x1f, 0x49, 0xc1, 0x21, 0x29, 0xf8, 0x4c, 0x0a, 0x7e, 0x92, 0x82, 0x2e,
0x9f, 0x0a, 0xdd, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xbe, 0x14, 0x8b, 0xfa, 0x00, 0x00,
0x00,
// 314 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xcf, 0x4a, 0xf3, 0x40,
0x14, 0xc5, 0x33, 0x21, 0x5f, 0x68, 0x87, 0xaf, 0xa5, 0x46, 0x29, 0x21, 0x8b, 0x71, 0x70, 0x63,
0x70, 0x91, 0x41, 0x7d, 0x82, 0xfe, 0x5b, 0x94, 0x52, 0x84, 0x58, 0xdc, 0x27, 0x99, 0x21, 0x1d,
0xda, 0xce, 0x2d, 0xd3, 0xb1, 0xe0, 0x4a, 0x97, 0xd2, 0x77, 0xe8, 0x4a, 0x9f, 0xc2, 0x27, 0xe8,
0xd2, 0xa5, 0x2b, 0xb1, 0x79, 0x12, 0x69, 0x5a, 0x14, 0x77, 0xf7, 0xdc, 0xf3, 0xbb, 0xe7, 0x72,
0x70, 0x2b, 0x97, 0x66, 0x7c, 0x9f, 0x46, 0x19, 0xcc, 0x18, 0x87, 0x6c, 0x22, 0x34, 0xcb, 0x40,
0x99, 0x44, 0x2a, 0xa1, 0x39, 0x5b, 0xa8, 0x64, 0xbe, 0x18, 0x83, 0x61, 0x0b, 0x03, 0x3a, 0xc9,
0x05, 0x4b, 0x61, 0x6a, 0x78, 0xca, 0xb4, 0xc8, 0x40, 0xf3, 0x68, 0xae, 0xc1, 0x80, 0x57, 0xfb,
0x3d, 0x88, 0x96, 0x97, 0xc1, 0x49, 0x0e, 0x39, 0x94, 0x0e, 0xdb, 0x4d, 0x7b, 0xe8, 0xec, 0x11,
0x57, 0x6e, 0x0f, 0x61, 0x5e, 0x13, 0xdb, 0x92, 0xfb, 0x88, 0xa2, 0xd0, 0x69, 0xbb, 0xc5, 0xe7,
0xa9, 0xdd, 0xef, 0xc6, 0xb6, 0xe4, 0x5e, 0x13, 0xbb, 0xf3, 0x44, 0x0b, 0x65, 0x7c, 0x9b, 0xa2,
0xb0, 0x1a, 0x1f, 0x94, 0x77, 0x8e, 0x9d, 0x89, 0x54, 0xdc, 0x77, 0x28, 0x0a, 0xeb, 0x57, 0xc7,
0xd1, 0x9f, 0x7f, 0xd1, 0x40, 0x2a, 0x1e, 0x97, 0x80, 0x17, 0xe0, 0x8a, 0x16, 0x09, 0x07, 0x35,
0x7d, 0xf0, 0xff, 0x51, 0x14, 0x56, 0xe2, 0x1f, 0x7d, 0x11, 0x63, 0x67, 0xb0, 0x67, 0xdc, 0x56,
0x67, 0xd4, 0xbf, 0xeb, 0x35, 0xac, 0xa0, 0xbe, 0x5a, 0x53, 0xbc, 0xdb, 0xb6, 0x32, 0x23, 0x97,
0xc2, 0xa3, 0xb8, 0xda, 0xb9, 0x19, 0x0e, 0xfb, 0xa3, 0x51, 0xaf, 0xdb, 0x40, 0xc1, 0xd1, 0x6a,
0x4d, 0x6b, 0x3b, 0xbb, 0x03, 0xb3, 0x99, 0x34, 0x46, 0xf0, 0xe0, 0xff, 0xf3, 0x0b, 0xb1, 0xde,
0x5e, 0x49, 0x99, 0xd5, 0xf6, 0x37, 0x5b, 0x62, 0x7d, 0x6c, 0x89, 0xf5, 0x54, 0x10, 0xb4, 0x29,
0x08, 0x7a, 0x2f, 0x08, 0xfa, 0x2a, 0x08, 0x4a, 0xdd, 0xb2, 0xf5, 0xf5, 0x77, 0x00, 0x00, 0x00,
0xff, 0xff, 0x9c, 0xce, 0xfc, 0xc2, 0x5f, 0x01, 0x00, 0x00,
}