feat: Update protobuf from idpe and influxdb
parent
415c8d5c5c
commit
fbf25a5f8b
|
@ -150,7 +150,7 @@ Considerations:
|
|||
on boot it should load up its S3 file index and keep in memory
|
||||
*/
|
||||
|
||||
// From https://github.com/influxdata/influxdb/blob/master/storage/reads/datatypes/storage_common.proto
|
||||
// From https://github.com/influxdata/idpe/blob/master/storage/read/service.proto
|
||||
|
||||
service Storage {
|
||||
// ReadFilter performs a filter operation at storage
|
||||
|
@ -167,8 +167,18 @@ service Storage {
|
|||
|
||||
// Capabilities returns a map of keys and values identifying the capabilities supported by the storage engine
|
||||
rpc Capabilities (google.protobuf.Empty) returns (CapabilitiesResponse);
|
||||
|
||||
rpc MeasurementNames(MeasurementNamesRequest) returns (stream StringValuesResponse);
|
||||
|
||||
rpc MeasurementTagKeys(MeasurementTagKeysRequest) returns (stream StringValuesResponse);
|
||||
|
||||
rpc MeasurementTagValues(MeasurementTagValuesRequest) returns (stream StringValuesResponse);
|
||||
|
||||
rpc MeasurementFields(MeasurementFieldsRequest) returns (stream MeasurementFieldsResponse);
|
||||
}
|
||||
|
||||
// From https://github.com/influxdata/influxdb/blob/master/storage/reads/datatypes/storage_common.proto
|
||||
|
||||
message ReadFilterRequest {
|
||||
google.protobuf.Any read_source = 1;
|
||||
TimestampRange range = 2;
|
||||
|
@ -202,6 +212,8 @@ message Aggregate {
|
|||
NONE = 0;
|
||||
SUM = 1;
|
||||
COUNT = 2;
|
||||
MIN = 3;
|
||||
MAX = 4;
|
||||
}
|
||||
|
||||
AggregateType type = 1;
|
||||
|
@ -309,11 +321,63 @@ message TagValuesRequest {
|
|||
string tag_key = 4;
|
||||
}
|
||||
|
||||
// Response message for Storage.TagKeys and Storage.TagValues.
|
||||
// Response message for Storage.TagKeys, Storage.TagValues Storage.MeasurementNames,
|
||||
// Storage.MeasurementTagKeys and Storage.MeasurementTagValues.
|
||||
message StringValuesResponse {
|
||||
repeated bytes values = 1;
|
||||
}
|
||||
|
||||
// MeasurementNamesRequest is the request message for Storage.MeasurementNames.
|
||||
message MeasurementNamesRequest {
|
||||
google.protobuf.Any source = 1;
|
||||
TimestampRange range = 2;
|
||||
}
|
||||
|
||||
// MeasurementTagKeysRequest is the request message for Storage.MeasurementTagKeys.
|
||||
message MeasurementTagKeysRequest {
|
||||
google.protobuf.Any source = 1;
|
||||
string measurement = 2;
|
||||
TimestampRange range = 3;
|
||||
Predicate predicate = 4;
|
||||
}
|
||||
|
||||
// MeasurementTagValuesRequest is the request message for Storage.MeasurementTagValues.
|
||||
message MeasurementTagValuesRequest {
|
||||
google.protobuf.Any source = 1;
|
||||
string measurement = 2;
|
||||
string tag_key = 3;
|
||||
TimestampRange range = 4;
|
||||
Predicate predicate = 5;
|
||||
}
|
||||
|
||||
// MeasurementFieldsRequest is the request message for Storage.MeasurementFields.
|
||||
message MeasurementFieldsRequest {
|
||||
google.protobuf.Any source = 1;
|
||||
string measurement = 2;
|
||||
TimestampRange range = 3;
|
||||
Predicate predicate = 4;
|
||||
}
|
||||
|
||||
// MeasurementFieldsResponse is the response message for Storage.MeasurementFields.
|
||||
message MeasurementFieldsResponse {
|
||||
enum FieldType {
|
||||
FLOAT = 0;
|
||||
INTEGER = 1;
|
||||
UNSIGNED = 2;
|
||||
STRING = 3;
|
||||
BOOLEAN = 4;
|
||||
UNDEFINED = 5;
|
||||
}
|
||||
|
||||
message MessageField {
|
||||
string key = 1;
|
||||
FieldType type = 2;
|
||||
sfixed64 timestamp = 3;
|
||||
}
|
||||
|
||||
repeated MessageField fields = 1;
|
||||
}
|
||||
|
||||
// From https://github.com/influxdata/idpe/blob/master/storage/read/source.proto
|
||||
|
||||
message ReadSource {
|
||||
|
|
43
src/rpc.rs
43
src/rpc.rs
|
@ -5,9 +5,10 @@ use delorean::delorean::{
|
|||
},
|
||||
storage_server::Storage,
|
||||
CapabilitiesResponse, CreateBucketRequest, CreateBucketResponse, DeleteBucketRequest,
|
||||
DeleteBucketResponse, GetBucketsResponse, Organization, Predicate, ReadFilterRequest,
|
||||
ReadGroupRequest, ReadResponse, ReadSource, StringValuesResponse, Tag, TagKeysRequest,
|
||||
TagValuesRequest, TimestampRange,
|
||||
DeleteBucketResponse, GetBucketsResponse, MeasurementFieldsRequest, MeasurementFieldsResponse,
|
||||
MeasurementNamesRequest, MeasurementTagKeysRequest, MeasurementTagValuesRequest, Organization,
|
||||
Predicate, ReadFilterRequest, ReadGroupRequest, ReadResponse, ReadSource, StringValuesResponse,
|
||||
Tag, TagKeysRequest, TagValuesRequest, TimestampRange,
|
||||
};
|
||||
use delorean::id::Id;
|
||||
use delorean::storage::partitioned_store::{PartitionKeyValues, ReadValues};
|
||||
|
@ -337,6 +338,42 @@ impl Storage for GrpcServer {
|
|||
) -> Result<tonic::Response<CapabilitiesResponse>, Status> {
|
||||
Err(Status::unimplemented("Not yet implemented"))
|
||||
}
|
||||
|
||||
type MeasurementNamesStream = mpsc::Receiver<Result<StringValuesResponse, Status>>;
|
||||
|
||||
async fn measurement_names(
|
||||
&self,
|
||||
_: tonic::Request<MeasurementNamesRequest>,
|
||||
) -> Result<tonic::Response<Self::MeasurementNamesStream>, Status> {
|
||||
Err(Status::unimplemented("Not yet implemented"))
|
||||
}
|
||||
|
||||
type MeasurementTagKeysStream = mpsc::Receiver<Result<StringValuesResponse, Status>>;
|
||||
|
||||
async fn measurement_tag_keys(
|
||||
&self,
|
||||
_: tonic::Request<MeasurementTagKeysRequest>,
|
||||
) -> Result<tonic::Response<Self::MeasurementTagKeysStream>, Status> {
|
||||
Err(Status::unimplemented("Not yet implemented"))
|
||||
}
|
||||
|
||||
type MeasurementTagValuesStream = mpsc::Receiver<Result<StringValuesResponse, Status>>;
|
||||
|
||||
async fn measurement_tag_values(
|
||||
&self,
|
||||
_: tonic::Request<MeasurementTagValuesRequest>,
|
||||
) -> Result<tonic::Response<Self::MeasurementTagValuesStream>, Status> {
|
||||
Err(Status::unimplemented("Not yet implemented"))
|
||||
}
|
||||
|
||||
type MeasurementFieldsStream = mpsc::Receiver<Result<MeasurementFieldsResponse, Status>>;
|
||||
|
||||
async fn measurement_fields(
|
||||
&self,
|
||||
_: tonic::Request<MeasurementFieldsRequest>,
|
||||
) -> Result<tonic::Response<Self::MeasurementFieldsStream>, Status> {
|
||||
Err(Status::unimplemented("Not yet implemented"))
|
||||
}
|
||||
}
|
||||
|
||||
async fn send_series_filters(
|
||||
|
|
Loading…
Reference in New Issue