pub trait SocketExt: 'static {
Show 54 methods
// Required methods
fn accept(
&self,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<Socket, Error>;
fn bind(
&self,
address: &impl IsA<SocketAddress>,
allow_reuse: bool
) -> Result<(), Error>;
fn check_connect_result(&self) -> Result<(), Error>;
fn close(&self) -> Result<(), Error>;
fn condition_check(&self, condition: IOCondition) -> IOCondition;
fn condition_timed_wait(
&self,
condition: IOCondition,
timeout_us: i64,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>;
fn condition_wait(
&self,
condition: IOCondition,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>;
fn connect(
&self,
address: &impl IsA<SocketAddress>,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>;
fn connection_factory_create_connection(&self) -> SocketConnection;
fn available_bytes(&self) -> isize;
fn is_blocking(&self) -> bool;
fn is_broadcast(&self) -> bool;
fn credentials(&self) -> Result<Credentials, Error>;
fn family(&self) -> SocketFamily;
fn is_keepalive(&self) -> bool;
fn listen_backlog(&self) -> i32;
fn local_address(&self) -> Result<SocketAddress, Error>;
fn is_multicast_loopback(&self) -> bool;
fn multicast_ttl(&self) -> u32;
fn option(&self, level: i32, optname: i32) -> Result<i32, Error>;
fn protocol(&self) -> SocketProtocol;
fn remote_address(&self) -> Result<SocketAddress, Error>;
fn socket_type(&self) -> SocketType;
fn timeout(&self) -> u32;
fn ttl(&self) -> u32;
fn is_closed(&self) -> bool;
fn is_connected(&self) -> bool;
fn join_multicast_group(
&self,
group: &impl IsA<InetAddress>,
source_specific: bool,
iface: Option<&str>
) -> Result<(), Error>;
fn join_multicast_group_ssm(
&self,
group: &impl IsA<InetAddress>,
source_specific: Option<&impl IsA<InetAddress>>,
iface: Option<&str>
) -> Result<(), Error>;
fn leave_multicast_group(
&self,
group: &impl IsA<InetAddress>,
source_specific: bool,
iface: Option<&str>
) -> Result<(), Error>;
fn leave_multicast_group_ssm(
&self,
group: &impl IsA<InetAddress>,
source_specific: Option<&impl IsA<InetAddress>>,
iface: Option<&str>
) -> Result<(), Error>;
fn listen(&self) -> Result<(), Error>;
fn set_blocking(&self, blocking: bool);
fn set_broadcast(&self, broadcast: bool);
fn set_keepalive(&self, keepalive: bool);
fn set_listen_backlog(&self, backlog: i32);
fn set_multicast_loopback(&self, loopback: bool);
fn set_multicast_ttl(&self, ttl: u32);
fn set_option(
&self,
level: i32,
optname: i32,
value: i32
) -> Result<(), Error>;
fn set_timeout(&self, timeout: u32);
fn set_ttl(&self, ttl: u32);
fn shutdown(
&self,
shutdown_read: bool,
shutdown_write: bool
) -> Result<(), Error>;
fn speaks_ipv4(&self) -> bool;
fn type_(&self) -> SocketType;
fn connect_blocking_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_broadcast_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_keepalive_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_listen_backlog_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_local_address_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_multicast_loopback_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_multicast_ttl_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_remote_address_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_timeout_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_ttl_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}