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/server_test.cc b/pw_rpc/server_test.cc
index b242088..389c9ca 100644
--- a/pw_rpc/server_test.cc
+++ b/pw_rpc/server_test.cc
@@ -21,6 +21,7 @@
 #include "pw_assert/assert.h"
 #include "pw_rpc/internal/packet.h"
 #include "pw_rpc/internal/service.h"
+#include "pw_rpc_private/test_utils.h"
 
 namespace pw::rpc {
 namespace {
@@ -31,24 +32,6 @@
 using internal::Packet;
 using internal::PacketType;
 
-template <size_t buffer_size>
-class TestOutput : public ChannelOutput {
- public:
-  constexpr TestOutput(uint32_t id) : ChannelOutput(id), sent_packet_({}) {}
-
-  span<byte> AcquireBuffer() override { return buffer_; }
-
-  void SendAndReleaseBuffer(size_t size) override {
-    sent_packet_ = {buffer_, size};
-  }
-
-  span<const byte> sent_packet() const { return sent_packet_; }
-
- private:
-  byte buffer_[buffer_size];
-  span<const byte> sent_packet_;
-};
-
 class TestService : public internal::Service {
  public:
   TestService(uint32_t service_id)