On 06:27 am, a...@roiban.ro wrote:
This email is bases on comment from https://twistedmatrix.com/trac/ticket/5999

I fail to see the reason why SSHTransportAddress exist and why would
anyone need It.

Here are a couple ideas.

You have a library that accepts a connection and does some things with it. You want to log the operations that are taken using the connection and you want to include information in those logs about which connection you did things with. You choose to use the addresses of the local and remote sides of the connection to identify it.

You have a library that accepts a connection and wants to be able to set up another connection like it to the same remote address. You get the remote address using the transport's `getPeer` method.

Though you may have established the SSH connection over a TCP/IPv4 connection, neither of these uses can be accomplished if the SSH connection, when treated as a transport, merely uses an `IPv4Address` instance to represent the address of the remote end of the connection. Using `IPv4Address` gives you no way to differentiate between an SSH connection running over a TCP/IPv4 connection and a plain TCP/IPv4 connection without SSH.

In practice, `SSHTransportAddress` is missing the information you would need to implement either of these scenarios. However, that seems more like an argument for adding the missing information to that address type rather than discarding the address type.

Jean-Paul

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to