Per https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md, the minimum version of cmake to support is 3.16 so let's change our cmake builds' requirements accordingly. Closes #37702 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37702 from veblush:cmake316 bb4ed1a1be5e9374980c922aac3dc1ccd27d1266 PiperOrigin-RevId: 680639191 |
5 months ago | |
---|---|---|
.. | ||
BUILD | [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36327) | 11 months ago |
CMakeLists.txt | [Build] Bumped the minimum version of cmake (#37702) | 5 months ago |
README.md | [example] Clean up the interceptors example (#33169) | 2 years ago |
caching_interceptor.h | [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36327) | 11 months ago |
client.cc | [example] Clean up the interceptors example (#33169) | 2 years ago |
server.cc | [example] Clean up the interceptors example (#33169) | 2 years ago |
README.md
gRPC C++ Interceptors Example
The C++ Interceptors example shows how interceptors might be used with a simple key-value store. Note that the C++ Interception API is still experimental and subject to change.
Key Value Store
The key-value store service is defined in keyvaluestore.proto.It has a simple bidi streaming RPC where the request messages contain a key and the response messages contain a value.
The example shows a very naive CachingInterceptor added on the client channel that caches the key-value pairs that it sees. If the client looks up a key present in the cache, the interceptor responds with its saved value and the server doesn't see the request for that key.
On the server-side, a very simple logging interceptor is added that simply logs to stdout whenever a new RPC is received.
Running the example
To run the server -
$ tools/bazel run examples/cpp/interceptors:server
To run the client (on a different terminal) -
$ tools/bazel run examples/cpp/interceptors:client