diff options
author | Wyatt Hepler <hepler@google.com> | 2022-01-19 13:55:31 -0800 |
---|---|---|
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-01-20 22:21:45 +0000 |
commit | 4adef6fa36c9f9222165e35cadb9e92e3d99477e (patch) | |
tree | 1e0a64d00208d549d8fa5356507f35abe297bbef /pw_log_rpc | |
parent | 6d1555ddaa5bd6da49b80fbf4b46f88e82e52ebb (diff) | |
download | pigweed-4adef6fa36c9f9222165e35cadb9e92e3d99477e.tar.gz |
pw_rpc: Remove PayloadBuffer() from the public API
The PayloadBuffer() function will be removed. ChannelOutput buffers will
only be used internally by the RPC system. This removes PayloadBuffer()
from the public API and exposes it only to its current upstream users.
Bug: 605
Change-Id: I54606d55711e8d24d6d0489a6b9f0c2b7871d7c1
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/79800
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Diffstat (limited to 'pw_log_rpc')
-rw-r--r-- | pw_log_rpc/rpc_log_drain.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/pw_log_rpc/rpc_log_drain.cc b/pw_log_rpc/rpc_log_drain.cc index 2f1003c3c..52efe6f63 100644 --- a/pw_log_rpc/rpc_log_drain.cc +++ b/pw_log_rpc/rpc_log_drain.cc @@ -30,6 +30,14 @@ Result<ConstByteSpan> CreateEncodedDropMessage( PW_TRY(encoder.status()); return ConstByteSpan(encoder); } + +// TODO(pwbug/605): Remove this hack for accessing the PayloadBuffer() API. +class AccessHiddenFunctions : public rpc::RawServerWriter { + public: + using RawServerWriter::PayloadBuffer; + using RawServerWriter::ReleaseBuffer; +}; + } // namespace Status RpcLogDrain::Open(rpc::RawServerWriter& writer) { @@ -53,7 +61,8 @@ Status RpcLogDrain::Flush() { if (!server_writer_.active()) { return Status::Unavailable(); } - log::LogEntries::MemoryEncoder encoder(server_writer_.PayloadBuffer()); + log::LogEntries::MemoryEncoder encoder( + static_cast<AccessHiddenFunctions&>(server_writer_).PayloadBuffer()); uint32_t packed_entry_count = 0; log_sink_state = EncodeOutgoingPacket(encoder, packed_entry_count); // Avoid sending empty packets. @@ -61,7 +70,7 @@ Status RpcLogDrain::Flush() { // Release buffer when still active to keep the writer in a replaceable // state. if (server_writer_.active()) { - server_writer_.ReleaseBuffer(); + static_cast<AccessHiddenFunctions&>(server_writer_).ReleaseBuffer(); } continue; } |