Build interface for hooking into TCP socket creation for guard connections before they connect
As part of the experiments we are doing for s101, it would be useful to have a way to pass a function (or a trait object?) that is evaluated prior to us connecting to the guard node using TCP.
This would allow us to let different platform API's register the guard TCP socket as "special" such that it wouldn't be wrapped into, say, VPN interfaces and its like.
For my specific use-case I only need access to the raw integer file descriptor, but I am thinking it would be fine to just have access to something equivalent of a TcpSocket type that implements the AsRawFd
trait.