pw_rpc: BaseServerWriter class
BaseServerWriter handles streaming responses from a server. The
pw_rpc server implementation must extend BaseServerWriter to provide a
user-facing method for actually sending responses.
Change-Id: I80e73ff5847ff5c843e496ada08245db8049afb5
diff --git a/pw_rpc/BUILD.gn b/pw_rpc/BUILD.gn
index 37aeba1..99ef678 100644
--- a/pw_rpc/BUILD.gn
+++ b/pw_rpc/BUILD.gn
@@ -52,6 +52,8 @@
"public/pw_rpc/server_context.h",
]
sources = [
+ "base_server_writer.cc",
+ "public/pw_rpc/internal/base_server_writer.h",
"public/pw_rpc/internal/service.h",
"public/pw_rpc/internal/service_registry.h",
"server.cc",
@@ -83,6 +85,15 @@
visibility = [ ":*" ]
}
+source_set("test_utils") {
+ public = [ "pw_rpc_private/test_utils.h" ]
+ public_deps = [
+ ":common",
+ dir_pw_span,
+ ]
+ visibility = [ ":*" ]
+}
+
pw_proto_library("protos") {
sources = [ "pw_rpc_protos/packet.proto" ]
}
@@ -93,6 +104,7 @@
pw_test_group("tests") {
tests = [
+ ":base_server_writer_test",
":packet_test",
":server_test",
]
@@ -116,6 +128,14 @@
visibility = [ ":test_server" ]
}
+pw_test("base_server_writer_test") {
+ deps = [
+ ":test_server",
+ ":test_utils",
+ ]
+ sources = [ "base_server_writer_test.cc" ]
+}
+
pw_test("packet_test") {
deps = [
":common",
@@ -128,6 +148,7 @@
deps = [
":protos_pwpb",
":test_server",
+ ":test_utils",
dir_pw_assert,
]
sources = [ "server_test.cc" ]