grpc plugin: Move all functions to a single service again.
[collectd.git] / proto / collectd.proto
index 84db755..0ff6e77 100644 (file)
@@ -1,5 +1,5 @@
 // collectd - proto/collectd.proto
-// Copyright (C) 2015 Sebastian Harl
+// Copyright (C) 2015-2016 Sebastian Harl
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
 // copy of this software and associated documentation files (the "Software"),
 syntax = "proto3";
 
 package collectd;
+option go_package = "collectd.org/rpc/proto";
 
 import "types.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 (stream QueryValuesResponse);
+
+  // DispatchValues sends a stream of ValueLists to the server.
+  rpc DispatchValues(stream DispatchValuesRequest) returns (DispatchValuesResponse);
 }
 
 // The arguments to DispatchValues.
 message DispatchValuesRequest {
-       collectd.types.ValueList values = 1;
+       collectd.types.ValueList value_list = 1;
 }
 
 // The response from DispatchValues.
-message DispatchValuesReply {
+message DispatchValuesResponse {
+}
+
+// The arguments to QueryValues.
+message QueryValuesRequest {
+       // Query by the fields of the identifier. Only return values matching the
+       // specified shell wildcard patterns (see fnmatch(3)). Use '*' to match
+       // any value.
+       collectd.types.Identifier identifier = 1;
+}
+
+// The response from QueryValues.
+message QueryValuesResponse {
+       collectd.types.ValueList value_list = 1;
 }