package internal; message Bitmap { repeated Chunk Chunks = 1; repeated Attr Attrs = 2; } message Chunk { required uint64 Key = 1; repeated uint64 Value = 2; } message Pair { required uint64 Key = 1; required uint64 Count = 2; } message Bit { required uint64 BitmapID = 1; required uint64 ProfileID = 2; } message Profile { required uint64 ID = 1; repeated Attr Attrs = 2; } message Attr { required string Key = 1; optional string StringValue = 2; optional uint64 UintValue = 3; optional bool BoolValue = 4; } message AttrMap { repeated Attr Attrs = 1; } message QueryRequest { required string DB = 1; required string Query = 2; repeated uint64 Slices = 3; optional bool Profiles = 4; optional int64 Timestamp = 5; optional uint32 Quantum = 6; } message QueryResponse { optional string Err = 1; optional Bitmap Bitmap = 2; optional uint64 N = 3; repeated Pair Pairs = 4; repeated Profile Profiles = 5; optional bool Changed = 6; } message ImportRequest { required string DB = 1; required string Frame = 2; required uint64 Slice = 3; repeated uint64 BitmapIDs = 4; repeated uint64 ProfileIDs = 5; } message ImportResponse { optional string Err = 1; } message Cache { repeated uint64 BitmapIDs = 1; } message SliceMaxResponse { required uint64 SliceMax = 1; }