Hi everyone!
This is my first status report for the stem.client TSoP project [1].
# Updates
A lot of these first two weeks has been improving development processes, workflows, and coordination.
A new Trac keyword "dev" now exists for stem tickets related to developers/development. [2][3] I'll be adding more and addressing some of these soon.
I continued some work on the stem.control caching behavior, to wrap up #25821 [4] and tie out a remnant event into a new ticket, #26129 [5].
I've been planning out some of the architecture/design of stem.client [6], as well as reviewing existing code [7].
For the former, I'm especially considering how to make stem.client most useful within the Tor and Python ecosystems.
I've looked at the "sans-io" style in hyper-h2 that meejah mentioned [8][9][10][11], along with similar resources [12][13][14].
I've also been looking at a few of the modules in the Python stdlib and projects in the ecosystem, to try to understand their potential integration points.
# What's next
For both architecture and code review, I have a bit more work to do. I'll confer further with Damian for these. Architecture discussion will be started on a private pad and then opened up to the larger community.
Afterwards, I'll be moving onto these cells: * CREATE * CREATED * CREATE2 * CREATED2 * PADDING_NEGOTIATE
And then I'll be working on CERTS, AUTH_CHALLENGE, NETINFO cells and the "v3 handshake".
# Other Tor things
I'd like to point out some other Tor things I'm doing, too, that aren't under the scope of stem :).
I've had some mild involvement in the University of Michigan getting their exit node [15] up and running again. And Cryptoparty Ann Arbor will be having an event on Sat., June 9th, at the public library. [16]
# Closing
As with before, I've been active and reachable over IRC, where my nick is dmr.
I'm still attending the network-team meetings, and since I've been asking some clarifications on the tor-spec [17], I'll probably be more chatty in those soon, too!
Please don't hesitate to reach out to me via IRC or email.
Thanks, Dave
[1] https://lists.torproject.org/pipermail/tor-dev/2018-April/013090.html [2] https://trac.torproject.org/projects/tor/query?keywords=~dev&component=C... [3] https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs?action=diff&... [4] https://trac.torproject.org/projects/tor/ticket/25821 [5] https://trac.torproject.org/projects/tor/ticket/26129 [6] https://trac.torproject.org/projects/tor/ticket/26226 [7] https://trac.torproject.org/projects/tor/ticket/26227 [8] https://lists.torproject.org/pipermail/tor-dev/2018-February/012906.html [9] https://lists.torproject.org/pipermail/tor-dev/2018-February/012908.html [10] https://lists.torproject.org/pipermail/tor-dev/2018-April/013100.html [11] https://python-hyper.org/h2/en/stable/ [12] https://sans-io.readthedocs.io/how-to-sans-io.html [13] https://www.youtube.com/watch?v=7cC3_jGwl_U [14] https://github.com/python-hyper/h11 [15] https://metrics.torproject.org/rs.html#details/5AFAC3D00E97D6733112CC9CA2A78... [16] https://aadl.org/node/372209 [17] https://trac.torproject.org/projects/tor/ticket/26228