It feels like English is ill-equipped for naming components of a bidirectional communication system.
-
It feels like English is ill-equipped for naming components of a bidirectional communication system. In QUIC they use `src_connection_id` and `dst_connection_id`, which is pretty confusing. And then there's tx and rx, which are also confusing. Maybe what you need is some canonical ordering, and to then name the two pipes based on that, rather than by their mode relative to the sender. e.g. if you make the channel Alpha be low connection-id to high connection-id. and channel Bravo, be high to low
-
It feels like English is ill-equipped for naming components of a bidirectional communication system. In QUIC they use `src_connection_id` and `dst_connection_id`, which is pretty confusing. And then there's tx and rx, which are also confusing. Maybe what you need is some canonical ordering, and to then name the two pipes based on that, rather than by their mode relative to the sender. e.g. if you make the channel Alpha be low connection-id to high connection-id. and channel Bravo, be high to low
Otoh basically everything in a networking system ends up having to deal with 'relativity', so perhaps it's a lost cause and you just need to embrace it.
-
It feels like English is ill-equipped for naming components of a bidirectional communication system. In QUIC they use `src_connection_id` and `dst_connection_id`, which is pretty confusing. And then there's tx and rx, which are also confusing. Maybe what you need is some canonical ordering, and to then name the two pipes based on that, rather than by their mode relative to the sender. e.g. if you make the channel Alpha be low connection-id to high connection-id. and channel Bravo, be high to low
@dotstdy As long as you are referring to the same stream from opposite ends, I think tx/rx is fine and not confusing. E.g. if you have a pipeline a => b => c it would be a_tx -> a_rx => b_tx -> b_rx => c_rx. Assuming this is referring to the actual sender/receiver handles.
-
@dotstdy As long as you are referring to the same stream from opposite ends, I think tx/rx is fine and not confusing. E.g. if you have a pipeline a => b => c it would be a_tx -> a_rx => b_tx -> b_rx => c_rx. Assuming this is referring to the actual sender/receiver handles.
@dotstdy While it's tolerable for the class names, I actually don't like sender/receiver as variable names since it conflates the handle/capability for sending/receiving with the identity of the sender and recipient. So I think that's a strong argument in favor of using something distinctive like tx/rx. Of course, tx can also mean transaction in some contexts, but it's usually not a problem.
-
@dotstdy While it's tolerable for the class names, I actually don't like sender/receiver as variable names since it conflates the handle/capability for sending/receiving with the identity of the sender and recipient. So I think that's a strong argument in favor of using something distinctive like tx/rx. Of course, tx can also mean transaction in some contexts, but it's usually not a problem.
@pervognsen Yeah, the thing which precipitated this thought was the connection id in quic which is endpoint specific, not directional per-se. And you have to send your connection id as part of the handshake. Which is a bit weird imo. But there's also symmetric keys which are attached to the direction, but used asymmetrically. I do agree about tx / rx though, that's the most reasonable thing I could come up with as well.
-
undefined oblomov@sociale.network shared this topic
-
@pervognsen Yeah, the thing which precipitated this thought was the connection id in quic which is endpoint specific, not directional per-se. And you have to send your connection id as part of the handshake. Which is a bit weird imo. But there's also symmetric keys which are attached to the direction, but used asymmetrically. I do agree about tx / rx though, that's the most reasonable thing I could come up with as well.
@dotstdy Are you still rolling your own? :)