pub trait ProviderProxyInterface: Send + Sync {
type StreamSocketWithOptionsResponseFut: Future<Output = Result<ProviderStreamSocketWithOptionsResult, Error>> + Send;
type StreamSocketResponseFut: Future<Output = Result<ProviderStreamSocketResult, Error>> + Send;
type DatagramSocketDeprecatedResponseFut: Future<Output = Result<ProviderDatagramSocketDeprecatedResult, Error>> + Send;
type DatagramSocketResponseFut: Future<Output = Result<ProviderDatagramSocketResult, Error>> + Send;
type DatagramSocketWithOptionsResponseFut: Future<Output = Result<ProviderDatagramSocketWithOptionsResult, Error>> + Send;
type InterfaceIndexToNameResponseFut: Future<Output = Result<ProviderInterfaceIndexToNameResult, Error>> + Send;
type InterfaceNameToIndexResponseFut: Future<Output = Result<ProviderInterfaceNameToIndexResult, Error>> + Send;
type InterfaceNameToFlagsResponseFut: Future<Output = Result<ProviderInterfaceNameToFlagsResult, Error>> + Send;
type GetInterfaceAddressesResponseFut: Future<Output = Result<Vec<InterfaceAddresses>, Error>> + Send;
// Required methods
fn stream_socket_with_options(
&self,
domain: Domain,
proto: StreamSocketProtocol,
opts: SocketCreationOptions,
) -> Self::StreamSocketWithOptionsResponseFut;
fn stream_socket(
&self,
domain: Domain,
proto: StreamSocketProtocol,
) -> Self::StreamSocketResponseFut;
fn datagram_socket_deprecated(
&self,
domain: Domain,
proto: DatagramSocketProtocol,
) -> Self::DatagramSocketDeprecatedResponseFut;
fn datagram_socket(
&self,
domain: Domain,
proto: DatagramSocketProtocol,
) -> Self::DatagramSocketResponseFut;
fn datagram_socket_with_options(
&self,
domain: Domain,
proto: DatagramSocketProtocol,
opts: SocketCreationOptions,
) -> Self::DatagramSocketWithOptionsResponseFut;
fn interface_index_to_name(
&self,
index: u64,
) -> Self::InterfaceIndexToNameResponseFut;
fn interface_name_to_index(
&self,
name: &str,
) -> Self::InterfaceNameToIndexResponseFut;
fn interface_name_to_flags(
&self,
name: &str,
) -> Self::InterfaceNameToFlagsResponseFut;
fn get_interface_addresses(&self) -> Self::GetInterfaceAddressesResponseFut;
}Required Associated Types§
type StreamSocketWithOptionsResponseFut: Future<Output = Result<ProviderStreamSocketWithOptionsResult, Error>> + Send
type StreamSocketResponseFut: Future<Output = Result<ProviderStreamSocketResult, Error>> + Send
type DatagramSocketDeprecatedResponseFut: Future<Output = Result<ProviderDatagramSocketDeprecatedResult, Error>> + Send
type DatagramSocketResponseFut: Future<Output = Result<ProviderDatagramSocketResult, Error>> + Send
type DatagramSocketWithOptionsResponseFut: Future<Output = Result<ProviderDatagramSocketWithOptionsResult, Error>> + Send
type InterfaceIndexToNameResponseFut: Future<Output = Result<ProviderInterfaceIndexToNameResult, Error>> + Send
type InterfaceNameToIndexResponseFut: Future<Output = Result<ProviderInterfaceNameToIndexResult, Error>> + Send
type InterfaceNameToFlagsResponseFut: Future<Output = Result<ProviderInterfaceNameToFlagsResult, Error>> + Send
type GetInterfaceAddressesResponseFut: Future<Output = Result<Vec<InterfaceAddresses>, Error>> + Send
Required Methods§
fn stream_socket_with_options( &self, domain: Domain, proto: StreamSocketProtocol, opts: SocketCreationOptions, ) -> Self::StreamSocketWithOptionsResponseFut
fn stream_socket( &self, domain: Domain, proto: StreamSocketProtocol, ) -> Self::StreamSocketResponseFut
fn datagram_socket_deprecated( &self, domain: Domain, proto: DatagramSocketProtocol, ) -> Self::DatagramSocketDeprecatedResponseFut
fn datagram_socket( &self, domain: Domain, proto: DatagramSocketProtocol, ) -> Self::DatagramSocketResponseFut
fn datagram_socket_with_options( &self, domain: Domain, proto: DatagramSocketProtocol, opts: SocketCreationOptions, ) -> Self::DatagramSocketWithOptionsResponseFut
fn interface_index_to_name( &self, index: u64, ) -> Self::InterfaceIndexToNameResponseFut
fn interface_name_to_index( &self, name: &str, ) -> Self::InterfaceNameToIndexResponseFut
fn interface_name_to_flags( &self, name: &str, ) -> Self::InterfaceNameToFlagsResponseFut
fn get_interface_addresses(&self) -> Self::GetInterfaceAddressesResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".