On Wed, Nov 01, 2017 at 09:09:36AM -0400, David Goulet wrote:
On 01 Nov (07:31:50), Ian Goldberg wrote:
On Wed, Nov 01, 2017 at 02:28:03PM +1100, teor wrote:
On 31 Oct 2017, at 06:57, David Goulet dgoulet@ev0ke.net wrote:
- I believe now that we should seriously discuss the relevance of channels.
Originally, the idea was good that is providing an abstraction layer for the relay to relay handshake and send/process cells related to the protocol. But, as of now, they are half doing it.
There is an important cost in code and maintanance of something that is not properly implemented/finished (channel abstraction) and also something that is unused. An abstraction implemented only for one thing is not really useful except maybe to offer an example for others? But we aren't providing a good example right now imo...
That being said, we can spend time fixing the channel subsystem, trying to turn it in a nicer interface, fixing all the issues I've described above (and I suspect there might be more) so the cell scheduler can play nicely with channels. Or, we could rip them off eliminating lots of code and reducing our technical debt. I would like us to think about what we want seriously because that channel subsystem is _complicated_ and very few of us fully understands it afaict.
It depends what the goal of the channel layer is.
Do we seriously think we will use another protocol in place of TLS?
The channel layer has certainly been used fruitfully in the past for experiments with other transports, such as UDP-based ones, QUIC-Tor, etc. I would be a little sad to see it disappear completely.
So after Montreal meeting, I got access to QUIC-Tor code. And, as a misconception of channels, they aren't about "transport" but "protocol".
Thus the QUIC-Tor code didn't even *touch* channels ;). Everything they did had to be done mostly at the connection layer.
For some reasearch to experiement with channels, it would be basically a research based on _removing_ TLS between relays. I'm not aware of such a thing right now but I'm sure someone did poked at it for sure!
Ah, bad example I guess. But some of my work in the past certainly has used channels for this purpose.