pub trait SocketAddress
{
type SD: 'static + SocketData;
fn new_transmission_control_protocol_server_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, transmission_control_protocol_socket_settings: &TransmissionControlProtocolSocketSettings, back_log: BackLog, blocking: &Blocking, hyper_thread: HyperThread) -> Result<StreamingServerListenerSocketFileDescriptor<Self::SD>, NewSocketServerListenerError>;
fn new_transmission_control_protocol_client(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, transmission_control_protocol_socket_settings: &TransmissionControlProtocolSocketSettings, writes_before_reading: bool, blocking: &Blocking) -> Result<StreamingSocketFileDescriptor<Self::SD>, NewSocketClientError>;
fn new_user_datagram_protocol_server_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking, hyper_thread: HyperThread) -> Result<DatagramServerListenerSocketFileDescriptor<Self::SD>, NewSocketServerListenerError>;
fn new_user_datagram_protocol_client(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking) -> Result<DatagramClientSocketFileDescriptor<Self::SD>, NewSocketClientError>;
fn new_user_datagram_protocol_client_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking, hyper_thread: HyperThread) -> Result<DatagramClientListenerSocketFileDescriptor<Self::SD>, NewSocketClientListenerError>;
}
impl SocketAddress for SocketAddrV4
{
type SD = sockaddr_in;
#[inline(always)]
fn new_transmission_control_protocol_server_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, transmission_control_protocol_socket_settings: &TransmissionControlProtocolSocketSettings, back_log: BackLog, blocking: &Blocking, hyper_thread: HyperThread) -> Result<StreamingServerListenerSocketFileDescriptor<Self::SD>, NewSocketServerListenerError>
{
let inner: &sockaddr_in = unsafe { transmute(self) };
inner.new_transmission_control_protocol_server_listener(internet_protocol_socket_settings, transmission_control_protocol_socket_settings, back_log, blocking, hyper_thread)
}
#[inline(always)]
fn new_transmission_control_protocol_client(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, transmission_control_protocol_socket_settings: &TransmissionControlProtocolSocketSettings, writes_before_reading: bool, blocking: &Blocking) -> Result<StreamingSocketFileDescriptor<Self::SD>, NewSocketClientError>
{
let inner: &sockaddr_in = unsafe { transmute(self) };
inner.new_transmission_control_protocol_client(internet_protocol_socket_settings, transmission_control_protocol_socket_settings, writes_before_reading, blocking)
}
#[inline(always)]
fn new_user_datagram_protocol_server_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking, hyper_thread: HyperThread) -> Result<DatagramServerListenerSocketFileDescriptor<Self::SD>, NewSocketServerListenerError>
{
let inner: &sockaddr_in = unsafe { transmute(self) };
inner.new_user_datagram_protocol_server_listener(internet_protocol_socket_settings, blocking, hyper_thread)
}
#[inline(always)]
fn new_user_datagram_protocol_client(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking) -> Result<DatagramClientSocketFileDescriptor<Self::SD>, NewSocketClientError>
{
let inner: &sockaddr_in = unsafe { transmute(self) };
inner.new_user_datagram_protocol_client(internet_protocol_socket_settings, blocking)
}
#[inline(always)]
fn new_user_datagram_protocol_client_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking, hyper_thread: HyperThread) -> Result<DatagramClientListenerSocketFileDescriptor<Self::SD>, NewSocketClientListenerError>
{
let inner: &sockaddr_in = unsafe { transmute(self) };
inner.new_user_datagram_protocol_client_listener(internet_protocol_socket_settings, blocking, hyper_thread)
}
}
impl SocketAddress for SocketAddrV6
{
type SD = sockaddr_in6;
#[inline(always)]
fn new_transmission_control_protocol_server_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, transmission_control_protocol_socket_settings: &TransmissionControlProtocolSocketSettings, back_log: BackLog, blocking: &Blocking, hyper_thread: HyperThread) -> Result<StreamingServerListenerSocketFileDescriptor<Self::SD>, NewSocketServerListenerError>
{
let inner: &sockaddr_in6 = unsafe { transmute(self) };
inner.new_transmission_control_protocol_server_listener(internet_protocol_socket_settings, transmission_control_protocol_socket_settings, back_log, blocking, hyper_thread)
}
#[inline(always)]
fn new_transmission_control_protocol_client(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, transmission_control_protocol_socket_settings: &TransmissionControlProtocolSocketSettings, writes_before_reading: bool, blocking: &Blocking) -> Result<StreamingSocketFileDescriptor<Self::SD>, NewSocketClientError>
{
let inner: &sockaddr_in6 = unsafe { transmute(self) };
inner.new_transmission_control_protocol_client(internet_protocol_socket_settings, transmission_control_protocol_socket_settings, writes_before_reading, blocking)
}
#[inline(always)]
fn new_user_datagram_protocol_server_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking, hyper_thread: HyperThread) -> Result<DatagramServerListenerSocketFileDescriptor<Self::SD>, NewSocketServerListenerError>
{
let inner: &sockaddr_in6 = unsafe { transmute(self) };
inner.new_user_datagram_protocol_server_listener(internet_protocol_socket_settings, blocking, hyper_thread)
}
#[inline(always)]
fn new_user_datagram_protocol_client(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking) -> Result<DatagramClientSocketFileDescriptor<Self::SD>, NewSocketClientError>
{
let inner: &sockaddr_in6 = unsafe { transmute(self) };
inner.new_user_datagram_protocol_client(internet_protocol_socket_settings, blocking)
}
#[inline(always)]
fn new_user_datagram_protocol_client_listener(&self, internet_protocol_socket_settings: &InternetProtocolSocketSettings, blocking: &Blocking, hyper_thread: HyperThread) -> Result<DatagramClientListenerSocketFileDescriptor<Self::SD>, NewSocketClientListenerError>
{
let inner: &sockaddr_in6 = unsafe { transmute(self) };
inner.new_user_datagram_protocol_client_listener(internet_protocol_socket_settings, blocking, hyper_thread)
}
}