pub trait SocketExtManual: Sized {
Show 15 methods
// Required methods
fn receive<B: AsMut<[u8]>, C: IsA<Cancellable>>(
&self,
buffer: B,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn receive_from<B: AsMut<[u8]>, C: IsA<Cancellable>>(
&self,
buffer: B,
cancellable: Option<&C>
) -> Result<(usize, SocketAddress), Error>;
fn receive_message<C: IsA<Cancellable>>(
&self,
address: Option<&mut Option<SocketAddress>>,
vectors: &mut [InputVector<'_>],
control_messages: Option<&mut SocketControlMessages>,
flags: i32,
cancellable: Option<&C>
) -> Result<(usize, i32), Error>;
fn receive_messages<C: IsA<Cancellable>>(
&self,
messages: &mut [InputMessage<'_>],
flags: i32,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn receive_with_blocking<B: AsMut<[u8]>, C: IsA<Cancellable>>(
&self,
buffer: B,
blocking: bool,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn send<B: AsRef<[u8]>, C: IsA<Cancellable>>(
&self,
buffer: B,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn send_message<P: IsA<SocketAddress>, C: IsA<Cancellable>>(
&self,
address: Option<&P>,
vectors: &[OutputVector<'_>],
messages: &[SocketControlMessage],
flags: i32,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn send_message_with_timeout<P: IsA<SocketAddress>, C: IsA<Cancellable>>(
&self,
address: Option<&P>,
vectors: &[OutputVector<'_>],
messages: &[SocketControlMessage],
flags: i32,
timeout: Option<Duration>,
cancellable: Option<&C>
) -> Result<(PollableReturn, usize), Error>;
fn send_messages<C: IsA<Cancellable>>(
&self,
messages: &mut [OutputMessage<'_>],
flags: i32,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn send_to<B: AsRef<[u8]>, P: IsA<SocketAddress>, C: IsA<Cancellable>>(
&self,
address: Option<&P>,
buffer: B,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn send_with_blocking<B: AsRef<[u8]>, C: IsA<Cancellable>>(
&self,
buffer: B,
blocking: bool,
cancellable: Option<&C>
) -> Result<usize, Error>;
fn fd<T: FromRawFd>(&self) -> T;
fn create_source<F, C>(
&self,
condition: IOCondition,
cancellable: Option<&C>,
name: Option<&str>,
priority: Priority,
func: F
) -> Source
where F: FnMut(&Self, IOCondition) -> Continue + 'static,
C: IsA<Cancellable>;
fn create_source_future<C: IsA<Cancellable>>(
&self,
condition: IOCondition,
cancellable: Option<&C>,
priority: Priority
) -> Pin<Box<dyn Future<Output = IOCondition> + 'static>>;
fn create_source_stream<C: IsA<Cancellable>>(
&self,
condition: IOCondition,
cancellable: Option<&C>,
priority: Priority
) -> Pin<Box<dyn Stream<Item = IOCondition> + 'static>>;
}