Coding 2022-09-30
I tried to dive right into the stream multiplexer stuff, and I discovered that my initial sketch of a design has... problems. So far, I've identified two major things that need to be addressed.
One is that I'm trying to express the underlying keys in terms of tuples of strings, but the public interface in terms of strings. So does the protocol just, like, have methods with both signatures?
The other is that I hadn't thought too hard about how to implement "a trio.abc.ReceiveStream subclass where instances are backed by a concrete multiplexer, and each instance pulls from the same memoized bytes, keeps track of its place, and awaits more data if it reaches the end".
I've got some ideas here, but I don't think they're going to come together in the next few minutes, so I'm just going to sleep on this for a bit.
Good night.