// Code generated by protoc-gen-go.
// source: op.proto
// DO NOT EDIT!

/*
Package statepb is a generated protocol buffer package.

It is generated from these files:
	op.proto
	snapshot.proto

It has these top-level messages:
	Op
	Cond
	Instruction
	Snapshot
*/
package statepb

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type Op_Type int32

const (
	Op_SET    Op_Type = 0
	Op_DELETE Op_Type = 1
)

var Op_Type_name = map[int32]string{
	0: "SET",
	1: "DELETE",
}
var Op_Type_value = map[string]int32{
	"SET":    0,
	"DELETE": 1,
}

func (x Op_Type) String() string {
	return proto.EnumName(Op_Type_name, int32(x))
}
func (Op_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }

type Cond_Type int32

const (
	Cond_KEY_EXISTS      Cond_Type = 0
	Cond_NOT_KEY_EXISTS  Cond_Type = 1
	Cond_VALUE_EQUAL     Cond_Type = 2
	Cond_NOT_VALUE_EQUAL Cond_Type = 3
	Cond_INDEX_EQUAL     Cond_Type = 4
	Cond_NOT_INDEX_EQUAL Cond_Type = 5
)

var Cond_Type_name = map[int32]string{
	0: "KEY_EXISTS",
	1: "NOT_KEY_EXISTS",
	2: "VALUE_EQUAL",
	3: "NOT_VALUE_EQUAL",
	4: "INDEX_EQUAL",
	5: "NOT_INDEX_EQUAL",
}
var Cond_Type_value = map[string]int32{
	"KEY_EXISTS":      0,
	"NOT_KEY_EXISTS":  1,
	"VALUE_EQUAL":     2,
	"NOT_VALUE_EQUAL": 3,
	"INDEX_EQUAL":     4,
	"NOT_INDEX_EQUAL": 5,
}

func (x Cond_Type) String() string {
	return proto.EnumName(Cond_Type_name, int32(x))
}
func (Cond_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }

type Op struct {
	Type  Op_Type `protobuf:"varint,1,opt,name=type,enum=statepb.Op_Type" json:"type,omitempty"`
	Key   string  `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
	Value []byte  `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *Op) Reset()                    { *m = Op{} }
func (m *Op) String() string            { return proto.CompactTextString(m) }
func (*Op) ProtoMessage()               {}
func (*Op) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *Op) GetType() Op_Type {
	if m != nil {
		return m.Type
	}
	return Op_SET
}

func (m *Op) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *Op) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

type Cond struct {
	Type  Cond_Type `protobuf:"varint,1,opt,name=type,enum=statepb.Cond_Type" json:"type,omitempty"`
	Key   string    `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
	Value []byte    `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	Index uint64    `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
}

func (m *Cond) Reset()                    { *m = Cond{} }
func (m *Cond) String() string            { return proto.CompactTextString(m) }
func (*Cond) ProtoMessage()               {}
func (*Cond) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *Cond) GetType() Cond_Type {
	if m != nil {
		return m.Type
	}
	return Cond_KEY_EXISTS
}

func (m *Cond) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *Cond) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *Cond) GetIndex() uint64 {
	if m != nil {
		return m.Index
	}
	return 0
}

type Instruction struct {
	Conditions []*Cond `protobuf:"bytes,1,rep,name=conditions" json:"conditions,omitempty"`
	Operations []*Op   `protobuf:"bytes,2,rep,name=operations" json:"operations,omitempty"`
}

func (m *Instruction) Reset()                    { *m = Instruction{} }
func (m *Instruction) String() string            { return proto.CompactTextString(m) }
func (*Instruction) ProtoMessage()               {}
func (*Instruction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *Instruction) GetConditions() []*Cond {
	if m != nil {
		return m.Conditions
	}
	return nil
}

func (m *Instruction) GetOperations() []*Op {
	if m != nil {
		return m.Operations
	}
	return nil
}

func init() {
	proto.RegisterType((*Op)(nil), "statepb.Op")
	proto.RegisterType((*Cond)(nil), "statepb.Cond")
	proto.RegisterType((*Instruction)(nil), "statepb.Instruction")
	proto.RegisterEnum("statepb.Op_Type", Op_Type_name, Op_Type_value)
	proto.RegisterEnum("statepb.Cond_Type", Cond_Type_name, Cond_Type_value)
}

func init() { proto.RegisterFile("op.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 301 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0x4f, 0x4b, 0xfb, 0x30,
	0x18, 0xc7, 0x97, 0x36, 0xdb, 0x7e, 0xbf, 0xa7, 0xba, 0x85, 0x47, 0x0f, 0x05, 0x2f, 0xa5, 0x88,
	0x14, 0xc4, 0x1e, 0xe6, 0x2b, 0x18, 0x2e, 0x87, 0xe1, 0xd8, 0x30, 0xeb, 0x64, 0x9e, 0xc6, 0xfe,
	0xe4, 0x50, 0x94, 0x26, 0x6c, 0xd9, 0xb0, 0xef, 0xd7, 0x17, 0x22, 0x69, 0xab, 0x64, 0x57, 0x6f,
	0x79, 0x3e, 0xdf, 0x4f, 0xf8, 0x26, 0x3c, 0xf0, 0x4f, 0xe9, 0x54, 0xef, 0x95, 0x51, 0xd8, 0x3d,
	0x98, 0xb5, 0x91, 0x7a, 0x13, 0x2b, 0xf0, 0x66, 0x1a, 0x6f, 0x81, 0x9a, 0x52, 0xcb, 0x90, 0x44,
	0x24, 0xe9, 0x0d, 0x58, 0xda, 0xa4, 0xe9, 0x4c, 0xa7, 0x59, 0xa9, 0xa5, 0xa8, 0x52, 0x64, 0xe0,
	0xbf, 0xcb, 0x32, 0xf4, 0x22, 0x92, 0xfc, 0x17, 0xf6, 0x88, 0xd7, 0xd0, 0x3e, 0xad, 0x3f, 0x8e,
	0x32, 0xf4, 0x23, 0x92, 0x5c, 0x88, 0x7a, 0x88, 0x6f, 0x80, 0xda, 0x5b, 0xd8, 0x05, 0x7f, 0xce,
	0x33, 0xd6, 0x42, 0x80, 0xce, 0x88, 0x4f, 0x78, 0xc6, 0x19, 0x89, 0xbf, 0x08, 0xd0, 0x27, 0x55,
	0xec, 0xf0, 0xee, 0xac, 0x13, 0x7f, 0x3b, 0x6d, 0xf8, 0x87, 0x56, 0x4b, 0xf3, 0x62, 0x27, 0x3f,
	0x43, 0x1a, 0x91, 0x84, 0x8a, 0x7a, 0x88, 0x4f, 0xcd, 0x5b, 0x7a, 0x00, 0xcf, 0xfc, 0x6d, 0xc5,
	0x97, 0xe3, 0x79, 0x36, 0x67, 0x2d, 0x44, 0xe8, 0x4d, 0x67, 0xd9, 0xca, 0x61, 0x04, 0xfb, 0x10,
	0xbc, 0x0e, 0x27, 0x0b, 0xbe, 0xe2, 0x2f, 0x8b, 0xe1, 0x84, 0x79, 0x78, 0x05, 0x7d, 0x2b, 0xb9,
	0xd0, 0xb7, 0xd6, 0x78, 0x3a, 0xe2, 0xcb, 0x06, 0xd0, 0x1f, 0xcb, 0x85, 0xed, 0x38, 0x87, 0x60,
	0x5c, 0x1c, 0xcc, 0xfe, 0xb8, 0x35, 0xb9, 0x2a, 0xf0, 0x01, 0x60, 0xab, 0x8a, 0x5d, 0x6e, 0x87,
	0x43, 0x48, 0x22, 0x3f, 0x09, 0x06, 0x97, 0x67, 0x5f, 0x16, 0x8e, 0x80, 0xf7, 0x00, 0x4a, 0xcb,
	0xfd, 0xba, 0xd6, 0xbd, 0x4a, 0x0f, 0x9c, 0xad, 0x08, 0x27, 0xde, 0x74, 0xaa, 0x95, 0x3e, 0x7e,
	0x07, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x57, 0x6f, 0x89, 0xde, 0x01, 0x00, 0x00,
}
