pw_rpc: Add ClientServer combination
This adds a class which wraps both an RPC client and server, simplifying
setup and usage in systems that require both.
Change-Id: I00e3cbeef91b8703c432800f58a96db5faff63f4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/40624
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Alexei Frolov <frolv@google.com>
diff --git a/pw_rpc/BUILD.gn b/pw_rpc/BUILD.gn
index 5f98883..9f4a95f 100644
--- a/pw_rpc/BUILD.gn
+++ b/pw_rpc/BUILD.gn
@@ -82,6 +82,16 @@
]
}
+pw_source_set("client_server") {
+ public_configs = [ ":public_include_path" ]
+ public_deps = [
+ ":client",
+ ":server",
+ ]
+ public = [ "public/pw_rpc/client_server.h" ]
+ sources = [ "client_server.cc" ]
+}
+
# Classes shared by the server and client.
pw_source_set("common") {
public_configs = [ ":public_include_path" ]
@@ -184,6 +194,7 @@
":base_server_writer_test",
":channel_test",
":client_test",
+ ":client_server_test",
":ids_test",
":packet_test",
":server_test",
@@ -262,6 +273,15 @@
sources = [ "client_test.cc" ]
}
+pw_test("client_server_test") {
+ deps = [
+ ":client_server",
+ ":test_utils",
+ "raw:method_union",
+ ]
+ sources = [ "client_server_test.cc" ]
+}
+
pw_test("base_client_call_test") {
deps = [
":client",