blob: 18f76394489af1fbe090605ed7d94f05f8571b93 [file] [log] [blame]
syntax = "proto3";
message PackedFields {
repeated int32 packedInt32 = 1 [packed = true];
repeated int64 packedInt64 = 2 [packed = true];
repeated uint32 packedUint32 = 3 [packed = true];
repeated uint64 packedUint64 = 4 [packed = true];
repeated sint32 packedSint32 = 5 [packed = true];
repeated sint64 packedSint64 = 6 [packed = true];
repeated bool packedBool = 7 [packed = true];
repeated Enum1 packedEnum1 = 8 [packed = true];
repeated Enum2 packedEnum2 = 9 [packed = true];
repeated SparseEnum sparseEnum = 10 [packed = true];
}
enum Enum1 {
ENUM_1_1 = 0;
ENUM_1_2 = 1;
ENUM_1_3 = 2;
ENUM_1_4 = 4;
ENUM_1_5 = 5;
}
enum Enum2 {
ENUM_2_1 = 0;
ENUM_2_2 = 1;
ENUM_2_3 = 2;
ENUM_2_4 = 4;
ENUM_2_5 = 5;
}
// An enum with large gaps between the known values, and with negative values.
//
// This will be slower to decode as the varint to enum value mapping needs to be
// done with binary search, or map lookup etc.
enum SparseEnum {
ENUM_ZERO = 0;
ENUM_MIN_INT = -2147483648;
ENUM_1 = -1000000000;
ENUM_2 = -100000000;
ENUM_3 = -10000000;
ENUM_4 = -1000000;
ENUM_5 = -100000;
ENUM_6 = 100000;
ENUM_7 = 1000000;
ENUM_8 = 10000000;
ENUM_9 = 100000000;
ENUM_10 = 1000000000;
ENUM_MAX_INT = 2147483647;
}