chancell relaycell chanmsg relaymsg, docs, non-orthogonality and/or code duplication
We have: RelayCell
, RelayMsg
, ChanCell
, ChanMsg
, Any*
, and related traits.
- There is no documentation which brings together all of the relevant types and contrasts them, and explains how they relate to each other. (The
tor_cell
crate docs do explain the Tor protocols, but not the Rust types.) - Some macros such as
msg_impl_relaymsg
vsmsg_impl_chanmsg
seem to be duplicated (with, following !1236 (merged), probably-unwarranted divergence)
I think it would be a good idea to try to provide the overview doc (which exercise will perhaps suggest API changes), and also unify parts of the implementation that could be unified.
See also #763