Implement prop359 relay cell format
This ticket is for implementing the new relay cell format of https://spec.torproject.org/proposals/359-cgo-redux.html#relay-cell-format , as adapted from proposal 340.
@jnewsome has done a lot of the abstraction work here, to make relay cell formats switchable.
Part of #1936 (closed).
Subtasks:
-
Implement version-based encoding for relay messages. (So far, we have only version-based encoding.) -
Implement decoding for new cell format. -
Implement encoding for new cell format. -
Make Data message chunking depend on cell format. -
Remove all or most hardcoded references to RelayCellFormat::V0 in the codebase.
Edited by Nick Mathewson