syntax = "proto3"; package internal; message IndexMeta { string ColumnLabel = 1; string TimeQuantum = 2; } message FrameMeta { string RowLabel = 1; bool InverseEnabled = 2; string CacheType = 3; uint32 CacheSize = 4; string TimeQuantum = 5; } message ImportResponse { string Err = 1; } message BlockDataRequest { string Index = 1; string Frame = 2; string View = 5; uint64 Slice = 4; uint64 Block = 3; } message BlockDataResponse { repeated uint64 RowIDs = 1; repeated uint64 ColumnIDs = 2; } message Cache { repeated uint64 IDs = 1; } message MaxSlicesResponse { map MaxSlices = 1; } message CreateSliceMessage { string Index = 1; uint64 Slice = 2; bool IsInverse = 3; } message DeleteIndexMessage { string Index = 1; } message CreateIndexMessage { string Index = 1; IndexMeta Meta = 2; } message CreateFrameMessage { string Index = 1; string Frame = 2; FrameMeta Meta = 3; } message DeleteFrameMessage { string Index = 1; string Frame = 2; } message Frame { string Name = 1; FrameMeta Meta = 2; } message Index { string Name = 1; IndexMeta Meta = 2; uint64 MaxSlice = 3; repeated Frame Frames = 4; repeated uint64 Slices = 5; } message NodeStatus { string Host = 1; string State = 2; repeated Index Indexes = 3; } message ClusterStatus { repeated NodeStatus Nodes = 1; }