pw_rpc: Some initial server code
This change starts adding basic RPC server code and request processing.
Change-Id: Ia59a3e65aef4117fc593db46450a6b428bf136f5
diff --git a/pw_rpc/BUILD.gn b/pw_rpc/BUILD.gn
index de98060..192a9bc 100644
--- a/pw_rpc/BUILD.gn
+++ b/pw_rpc/BUILD.gn
@@ -13,6 +13,7 @@
# the License.
import("$dir_pw_docgen/docs.gni")
+import("$dir_pw_protobuf_compiler/proto.gni")
import("$dir_pw_unit_test/test.gni")
config("default_config") {
@@ -20,15 +21,33 @@
}
source_set("pw_rpc") {
+ deps = [ ":protos_pwpb" ]
public_configs = [ ":default_config" ]
public_deps = [
dir_pw_assert,
+ dir_pw_log,
dir_pw_span,
+ dir_pw_status,
]
public = [
"public/pw_rpc/channel.h",
"public/pw_rpc/server.h",
]
+ sources = [
+ "channel.cc",
+ "packet.cc",
+ "public/pw_rpc/internal/packet.h",
+ "public/pw_rpc/internal/service.h",
+ "public/pw_rpc/internal/service_registry.h",
+ "server.cc",
+ "service.cc",
+ "service_registry.cc",
+ ]
+ friend = [ ":*" ]
+}
+
+pw_proto_library("protos") {
+ sources = [ "pw_rpc_protos/packet.proto" ]
}
pw_doc_group("docs") {
@@ -36,10 +55,21 @@
}
pw_test_group("tests") {
- tests = [ ":server_test" ]
+ tests = [
+ ":packet_test",
+ ":server_test",
+ ]
}
pw_test("server_test") {
deps = [ ":pw_rpc" ]
sources = [ "server_test.cc" ]
}
+
+pw_test("packet_test") {
+ deps = [
+ ":pw_rpc",
+ dir_pw_protobuf,
+ ]
+ sources = [ "packet_test.cc" ]
+}