pw_hdlc: Overload ReadAndProcessPackets w/o ChannelOutput

The ChannelOutput argument is being removed. This will
allow callers to gradually transition their code to the new API.

Change-Id: Id13d7702378d6b67cbe41d65720c1f57d81c7b26
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/108950
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Taylor Cramer <cramertj@google.com>
diff --git a/pw_hdlc/public/pw_hdlc/rpc_packets.h b/pw_hdlc/public/pw_hdlc/rpc_packets.h
index ed8898a..2913021 100644
--- a/pw_hdlc/public/pw_hdlc/rpc_packets.h
+++ b/pw_hdlc/public/pw_hdlc/rpc_packets.h
@@ -27,6 +27,15 @@
 // Reads HDLC frames with sys_io::ReadByte, using decode_buffer to store frames.
 // HDLC frames sent to rpc_address are passed to the RPC server.
 Status ReadAndProcessPackets(rpc::Server& server,
+                             span<std::byte> decode_buffer,
+                             unsigned rpc_address = kDefaultRpcAddress);
+
+// Reads HDLC frames with sys_io::ReadByte, using decode_buffer to store frames.
+// HDLC frames sent to rpc_address are passed to the RPC server.
+//
+// Note: this overload (with the `ChannelOutput` argument) is deprecated and
+// will be removed.
+Status ReadAndProcessPackets(rpc::Server& server,
                              rpc::ChannelOutput& output,
                              span<std::byte> decode_buffer,
                              unsigned rpc_address = kDefaultRpcAddress);
diff --git a/pw_hdlc/rpc_packets.cc b/pw_hdlc/rpc_packets.cc
index d3261fb..fd42968 100644
--- a/pw_hdlc/rpc_packets.cc
+++ b/pw_hdlc/rpc_packets.cc
@@ -20,7 +20,6 @@
 namespace pw::hdlc {
 
 Status ReadAndProcessPackets(rpc::Server& server,
-                             rpc::ChannelOutput& output,
                              span<std::byte> decode_buffer,
                              unsigned rpc_address) {
   Decoder decoder(decode_buffer);
@@ -32,11 +31,18 @@
     if (auto result = decoder.Process(data); result.ok()) {
       Frame& frame = result.value();
       if (frame.address() == rpc_address) {
-        server.ProcessPacket(frame.data(), output)
+        server.ProcessPacket(frame.data())
             .IgnoreError();  // TODO(b/242598609): Handle Status properly
       }
     }
   }
 }
 
+Status ReadAndProcessPackets(rpc::Server& server,
+                             rpc::ChannelOutput&,
+                             span<std::byte> decode_buffer,
+                             unsigned rpc_address) {
+  return ReadAndProcessPackets(server, decode_buffer, rpc_address);
+}
+
 }  // namespace pw::hdlc