pw_rpc: Support opening a ServerReader/Writer

- Deprecate open() in favor of active(), which isn't ambiguous about
  whether it's a verb or adjective and doesn't conflict with Open().
- Support opening a ServerReader/Writer object server-side, without a
  client calling the RPC. This is helpful for testing and in situations
  when the server needs to send a response to an RPC the client hasn't
  called the RPC yet (e.g. respond to a Reset() RPC after rebooting).

Change-Id: I2c7d3186597f576db2edbead7fd9a8cd407f4983
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/57882
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
diff --git a/pw_rpc/docs.rst b/pw_rpc/docs.rst
index 7188722..c34563c 100644
--- a/pw_rpc/docs.rst
+++ b/pw_rpc/docs.rst
@@ -45,6 +45,18 @@
 synchronously handled unary RPC before it completes. The same RPC may be invoked
 multiple times simultaneously if the invocations are on different channels.
 
+Unrequested responses
+---------------------
+``pw_rpc`` supports sending responses to RPCs that have not yet been invoked by
+a client. This is useful in testing and in situations like an RPC that triggers
+reboot. After the reboot, the device opens the writer object and sends its
+response to the client.
+
+.. admonition:: Under construction
+
+  The ``ReaderWriter::Open()`` API is cumbersome, but a more streamlined API
+  will be added to the generated RPC code.
+
 Creating an RPC
 ===============