2015-05-18 14:35:10 -07:00

36 lines
1.1 KiB
Protocol Buffer

package storagepb;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.goproto_enum_prefix_all) = false;
message KeyValue {
optional bytes key = 1 [(gogoproto.nullable) = false];
// mod_index is the last modified index of the key.
optional int64 create_index = 2 [(gogoproto.nullable) = false];
optional int64 mod_index = 3 [(gogoproto.nullable) = false];
// version is the version of the key. A deletion resets
// the version to zero and any modification of the key
// increases its version.
optional int64 version = 4 [(gogoproto.nullable) = false];
optional bytes value = 5 [(gogoproto.nullable) = false];
}
message Event {
enum EventType {
PUT = 0;
DELETE = 1;
EXPIRE = 2;
}
optional EventType type = 1 [(gogoproto.nullable) = false];
// a put event contains the current key-value
// a delete/expire event contains the previous
// key-value
optional KeyValue kv = 2 [(gogoproto.nullable) = false];
}