pub trait ProxyExt:
IsA<Proxy>
+ Sealed
+ 'static {
// Provided methods
fn connect(
&self,
connection: &impl IsA<IOStream>,
proxy_address: &impl IsA<ProxyAddress>,
cancellable: Option<&impl IsA<Cancellable>>,
) -> Result<IOStream, Error> { ... }
fn connect_async<P: FnOnce(Result<IOStream, Error>) + 'static>(
&self,
connection: &impl IsA<IOStream>,
proxy_address: &impl IsA<ProxyAddress>,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P,
) { ... }
fn connect_future(
&self,
connection: &(impl IsA<IOStream> + Clone + 'static),
proxy_address: &(impl IsA<ProxyAddress> + Clone + 'static),
) -> Pin<Box_<dyn Future<Output = Result<IOStream, Error>> + 'static>> { ... }
fn supports_hostname(&self) -> bool { ... }
}
Provided Methods§
Sourcefn connect(
&self,
connection: &impl IsA<IOStream>,
proxy_address: &impl IsA<ProxyAddress>,
cancellable: Option<&impl IsA<Cancellable>>,
) -> Result<IOStream, Error>
fn connect( &self, connection: &impl IsA<IOStream>, proxy_address: &impl IsA<ProxyAddress>, cancellable: Option<&impl IsA<Cancellable>>, ) -> Result<IOStream, Error>
Given @connection to communicate with a proxy (eg, a #GSocketConnection that is connected to the proxy server), this does the necessary handshake to connect to @proxy_address, and if required, wraps the #GIOStream to handle proxy payload.
§connection
a #GIOStream
§proxy_address
a #GProxyAddress
§cancellable
a #GCancellable
§Returns
a #GIOStream that will replace @connection. This might be the same as @connection, in which case a reference will be added.
Sourcefn connect_async<P: FnOnce(Result<IOStream, Error>) + 'static>(
&self,
connection: &impl IsA<IOStream>,
proxy_address: &impl IsA<ProxyAddress>,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P,
)
fn connect_async<P: FnOnce(Result<IOStream, Error>) + 'static>( &self, connection: &impl IsA<IOStream>, proxy_address: &impl IsA<ProxyAddress>, cancellable: Option<&impl IsA<Cancellable>>, callback: P, )
fn connect_future( &self, connection: &(impl IsA<IOStream> + Clone + 'static), proxy_address: &(impl IsA<ProxyAddress> + Clone + 'static), ) -> Pin<Box_<dyn Future<Output = Result<IOStream, Error>> + 'static>>
Sourcefn supports_hostname(&self) -> bool
fn supports_hostname(&self) -> bool
Some proxy protocols expect to be passed a hostname, which they
will resolve to an IP address themselves. Others, like SOCKS4, do
not allow this. This function will return false
if @self is
implementing such a protocol. When false
is returned, the caller
should resolve the destination hostname first, and then pass a
#GProxyAddress containing the stringified IP address to
g_proxy_connect() or g_proxy_connect_async().
§Returns
true
if hostname resolution is supported.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.