[roll third_party/pigweed] pw_channel: Support datagram-to-byte conversions
The original Channel implementation did not allow datagram channels to
be used as byte channels. This is because zero-length reads and writes
are semantically different. A zero-length datagram write produces a
zero-length datagram read on the other end; a zero-length byte write is
a no-op.
- Document the semantic difference, but allow datagram channels to be
used as byte channels, with the understanding that zero-length writes
may produce a meaningless zero-length read in some cases.
- Make kDatagram a property and support datagram-to-byte conversions
like any other property.
- Make ByteChannel and DatagramChannel aliases of Channel<>.
- Reintroduce the AnyChannel base class as originally proposed.
Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/196210
https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 22961f56a2bdc98..a230ae449576bc3
Roller-URL: https://ci.chromium.org/b/8753606845137580129
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Idd661e943d43145ab0d431db3475d8cbc83a2140
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/196157
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
diff --git a/third_party/pigweed b/third_party/pigweed
index 22961f5..a230ae4 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 22961f56a2bdc9897d452209429d03655daa006e
+Subproject commit a230ae449576bc3e0933fa567c58da2a33ebde13