Trait gio::prelude::SocketConnectionExt
source · pub trait SocketConnectionExt: 'static {
// Required methods
fn connect(
&self,
address: &impl IsA<SocketAddress>,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>;
fn connect_async<P: FnOnce(Result<(), Error>) + 'static>(
&self,
address: &impl IsA<SocketAddress>,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
);
fn connect_future(
&self,
address: &impl IsA<SocketAddress> + Clone + 'static
) -> Pin<Box_<dyn Future<Output = Result<(), Error>> + 'static>>;
fn local_address(&self) -> Result<SocketAddress, Error>;
fn remote_address(&self) -> Result<SocketAddress, Error>;
fn socket(&self) -> Socket;
fn is_connected(&self) -> bool;
}
Expand description
Required Methods§
sourcefn connect(
&self,
address: &impl IsA<SocketAddress>,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>
fn connect( &self, address: &impl IsA<SocketAddress>, cancellable: Option<&impl IsA<Cancellable>> ) -> Result<(), Error>
Connect self
to the specified remote address.
address
a SocketAddress
specifying the remote address.
cancellable
a GCancellable
or None
Returns
sourcefn connect_async<P: FnOnce(Result<(), Error>) + 'static>(
&self,
address: &impl IsA<SocketAddress>,
cancellable: Option<&impl IsA<Cancellable>>,
callback: P
)
fn connect_async<P: FnOnce(Result<(), Error>) + 'static>( &self, address: &impl IsA<SocketAddress>, cancellable: Option<&impl IsA<Cancellable>>, callback: P )
Asynchronously connect self
to the specified remote address.
This clears the blocking
flag on self
’s underlying
socket if it is currently set.
Use g_socket_connection_connect_finish()
to retrieve the result.
address
a SocketAddress
specifying the remote address.
cancellable
a GCancellable
or None
callback
a GAsyncReadyCallback
fn connect_future( &self, address: &impl IsA<SocketAddress> + Clone + 'static ) -> Pin<Box_<dyn Future<Output = Result<(), Error>> + 'static>>
sourcefn local_address(&self) -> Result<SocketAddress, Error>
fn local_address(&self) -> Result<SocketAddress, Error>
Try to get the local address of a socket connection.
Returns
a SocketAddress
or None
on error.
Free the returned object with g_object_unref()
.
sourcefn remote_address(&self) -> Result<SocketAddress, Error>
fn remote_address(&self) -> Result<SocketAddress, Error>
Try to get the remote address of a socket connection.
Since GLib 2.40, when used with SocketClientExt::connect()
or
SocketClientExt::connect_async()
, during emission of
SocketClientEvent::Connecting
, this function will return the remote
address that will be used for the connection. This allows
applications to print e.g. “Connecting to example.com
(10.42.77.3)…”.
Returns
a SocketAddress
or None
on error.
Free the returned object with g_object_unref()
.
sourcefn socket(&self) -> Socket
fn socket(&self) -> Socket
Gets the underlying Socket
object of the connection.
This can be useful if you want to do something unusual on it
not supported by the SocketConnection
APIs.
Returns
sourcefn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Checks if self
is connected. This is equivalent to calling
SocketExt::is_connected()
on self
’s underlying Socket
.
Returns
whether self
is connected