pw_rpc: Client & bidirectional streaming codegen

- Support codegen for raw and Nanopb RPC services.
- Leave a TODO to implement client and bidirectional streaming for the
  Nanopb client.

Change-Id: Ifb69bec13a8ac912d25ddda28a4e26f392d4fed5
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/52522
Reviewed-by: Alexei Frolov <frolv@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
3 files changed
tree: 3ea1caa0ab1577c288c971201e08b484a0dbcd0a
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_arduino_build/
  7. pw_assert/
  8. pw_assert_basic/
  9. pw_assert_log/
  10. pw_base64/
  11. pw_bloat/
  12. pw_blob_store/
  13. pw_boot_armv7m/
  14. pw_build/
  15. pw_bytes/
  16. pw_checksum/
  17. pw_chrono/
  18. pw_chrono_embos/
  19. pw_chrono_freertos/
  20. pw_chrono_stl/
  21. pw_chrono_threadx/
  22. pw_cli/
  23. pw_console/
  24. pw_containers/
  25. pw_cpu_exception/
  26. pw_cpu_exception_cortex_m/
  27. pw_docgen/
  28. pw_doctor/
  29. pw_env_setup/
  30. pw_function/
  31. pw_fuzzer/
  32. pw_hdlc/
  33. pw_hex_dump/
  34. pw_i2c/
  35. pw_interrupt/
  36. pw_interrupt_cortex_m/
  37. pw_kvs/
  38. pw_libc/
  39. pw_log/
  40. pw_log_basic/
  41. pw_log_multisink/
  42. pw_log_null/
  43. pw_log_rpc/
  44. pw_log_sink/
  45. pw_log_tokenized/
  46. pw_malloc/
  47. pw_malloc_freelist/
  48. pw_metric/
  49. pw_minimal_cpp_stdlib/
  50. pw_module/
  51. pw_multisink/
  52. pw_package/
  53. pw_persistent_ram/
  54. pw_polyfill/
  55. pw_preprocessor/
  56. pw_presubmit/
  57. pw_protobuf/
  58. pw_protobuf_compiler/
  59. pw_random/
  60. pw_result/
  61. pw_ring_buffer/
  62. pw_router/
  63. pw_rpc/
  64. pw_snapshot/
  65. pw_span/
  66. pw_status/
  67. pw_stm32cube_build/
  68. pw_stream/
  69. pw_string/
  70. pw_sync/
  71. pw_sync_baremetal/
  72. pw_sync_embos/
  73. pw_sync_freertos/
  74. pw_sync_stl/
  75. pw_sync_threadx/
  76. pw_sys_io/
  77. pw_sys_io_arduino/
  78. pw_sys_io_baremetal_lm3s6965evb/
  79. pw_sys_io_baremetal_stm32f429/
  80. pw_sys_io_stdio/
  81. pw_target_runner/
  82. pw_thread/
  83. pw_thread_embos/
  84. pw_thread_freertos/
  85. pw_thread_stl/
  86. pw_thread_threadx/
  87. pw_tls_client/
  88. pw_tls_client_boringssl/
  89. pw_tls_client_mbedtls/
  90. pw_tokenizer/
  91. pw_tool/
  92. pw_toolchain/
  93. pw_trace/
  94. pw_trace_tokenized/
  95. pw_transfer/
  96. pw_unit_test/
  97. pw_varint/
  98. pw_watch/
  99. pw_web_ui/
  100. targets/
  101. third_party/
  102. .bazelignore
  103. .bazelrc
  104. .clang-format
  105. .eslintrc.json
  106. .gitattributes
  107. .gitignore
  108. .gn
  109. .prettierrc.js
  110. .pylintrc
  111. activate.bat
  112. AUTHORS
  113. bootstrap.bat
  114. bootstrap.sh
  115. BUILD
  116. BUILD.gn
  117. BUILDCONFIG.gn
  118. CMakeLists.txt
  119. LICENSE
  120. modules.gni
  121. OWNERS
  122. package.json
  123. PW_PLUGINS
  124. README.md
  125. tsconfig.json
  126. WORKSPACE
  127. yarn.lock
README.md

See our website: http://pigweed.dev