grpc plugin: Create a "Dispatch" service and use streaming RPCs.
[collectd.git] / proto / collectd.proto
index 608fcbb..0ed6606 100644 (file)
@@ -27,19 +27,20 @@ syntax = "proto3";
 package collectd;
 
 import "types.proto";
-import "google/protobuf/timestamp.proto";
 
 service Collectd {
-       // Dispatch collected values to collectd.
-       rpc DispatchValues(DispatchValuesRequest) returns (DispatchValuesReply);
-
        // Query a list of values available from collectd's value cache.
        rpc QueryValues(QueryValuesRequest) returns (QueryValuesReply);
 }
 
+service Dispatch {
+  // DispatchValues sends a stream of ValueLists to the server.
+  rpc DispatchValues(stream DispatchValuesRequest) returns (DispatchValuesReply);
+}
+
 // The arguments to DispatchValues.
 message DispatchValuesRequest {
-       collectd.types.ValueList values = 1;
+       collectd.types.ValueList value_list = 1;
 }
 
 // The response from DispatchValues.
@@ -56,5 +57,5 @@ message QueryValuesRequest {
 
 // The response from QueryValues.
 message QueryValuesReply {
-       repeated collectd.types.ValueList values = 1;
+       repeated collectd.types.ValueList value_lists = 1;
 }