tunnel
pub fn client<S>( stream: S, identity: impl Into<String>, psk: impl Into<Vec<u8>>) -> Result<TunnelStream<S>, TunnelError> where S: Read + Write + Debug + 'static,