
Using Go-style import paths in protos is not idiomatic. Normally, this detail would be internal to etcd, but the path from which gogoproto is imported affects downstream consumers (e.g. cockroachdb). In cockroach, we want to avoid including `$GOPATH/src` in our protoc include path for various reasons. This patch puts etcd on the same convention, which allows this for cockroach. More information: https://github.com/cockroachdb/cockroach/pull/2339#discussion_r38663417 This commit also regenerates all the protos, which seem to have drifted a tiny bit.
37 lines
858 B
Protocol Buffer
37 lines
858 B
Protocol Buffer
syntax = "proto3";
|
|
package storagepb;
|
|
|
|
import "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 {
|
|
bytes key = 1;
|
|
int64 create_index = 2;
|
|
// mod_index is the last modified index of the key.
|
|
int64 mod_index = 3;
|
|
// version is the version of the key. A deletion resets
|
|
// the version to zero and any modification of the key
|
|
// increases its version.
|
|
int64 version = 4;
|
|
bytes value = 5;
|
|
}
|
|
|
|
message Event {
|
|
enum EventType {
|
|
PUT = 0;
|
|
DELETE = 1;
|
|
EXPIRE = 2;
|
|
}
|
|
EventType type = 1;
|
|
// a put event contains the current key-value
|
|
// a delete/expire event contains the previous
|
|
// key-value
|
|
KeyValue kv = 2;
|
|
}
|
|
|