author | Florian Forster <octo@collectd.org> | |
Fri, 29 Jul 2016 14:54:58 +0000 (16:54 +0200) | ||
committer | Florian Forster <octo@collectd.org> | |
Tue, 2 Aug 2016 14:56:58 +0000 (16:56 +0200) | ||
commit | d26dd5c1db5c3310c9e69b2b910c6547469c99ce | |
tree | a461017fec63a80fe2c3567a95d3970ac0f94774 | tree | snapshot |
parent | 00b1f1de1f40059a26d75964408be3a13738c3d8 | commit | diff |
grpc plugin: Create a "Dispatch" service and use streaming RPCs.
This patch, unfortunately, does two things:
* It breaks out the DispatchValues() call into a separate service. The
intention of this is to make it easier to implement only part of the
API, namely to not implement querying of values, which may not be
useful for stateless proxies.
* It turns the DispatchValues() call into a (client side) streaming RPC.
That means that a client can send many ValueLists to the server in one
streaming request, rather than many self-contained requests.
This code is heavily influenced by test code of the "protobuf-qml"
project, which is MIT licensed.
This patch, unfortunately, does two things:
* It breaks out the DispatchValues() call into a separate service. The
intention of this is to make it easier to implement only part of the
API, namely to not implement querying of values, which may not be
useful for stateless proxies.
* It turns the DispatchValues() call into a (client side) streaming RPC.
That means that a client can send many ValueLists to the server in one
streaming request, rather than many self-contained requests.
This code is heavily influenced by test code of the "protobuf-qml"
project, which is MIT licensed.
proto/collectd.proto | diff | blob | history | |
src/grpc.cc | diff | blob | history |