pub trait SocketProxyInterface: Send + Sync {
Show 77 associated items
type CloseResponseFut: Future<Output = Result<CloseableCloseResult, Error>> + Send;
type QueryResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send;
type SetReuseAddressResponseFut: Future<Output = Result<BaseSocketSetReuseAddressResult, Error>> + Send;
type GetReuseAddressResponseFut: Future<Output = Result<BaseSocketGetReuseAddressResult, Error>> + Send;
type GetErrorResponseFut: Future<Output = Result<BaseSocketGetErrorResult, Error>> + Send;
type SetBroadcastResponseFut: Future<Output = Result<BaseSocketSetBroadcastResult, Error>> + Send;
type GetBroadcastResponseFut: Future<Output = Result<BaseSocketGetBroadcastResult, Error>> + Send;
type SetSendBufferResponseFut: Future<Output = Result<BaseSocketSetSendBufferResult, Error>> + Send;
type GetSendBufferResponseFut: Future<Output = Result<BaseSocketGetSendBufferResult, Error>> + Send;
type SetReceiveBufferResponseFut: Future<Output = Result<BaseSocketSetReceiveBufferResult, Error>> + Send;
type GetReceiveBufferResponseFut: Future<Output = Result<BaseSocketGetReceiveBufferResult, Error>> + Send;
type SetKeepAliveResponseFut: Future<Output = Result<BaseSocketSetKeepAliveResult, Error>> + Send;
type GetKeepAliveResponseFut: Future<Output = Result<BaseSocketGetKeepAliveResult, Error>> + Send;
type SetOutOfBandInlineResponseFut: Future<Output = Result<BaseSocketSetOutOfBandInlineResult, Error>> + Send;
type GetOutOfBandInlineResponseFut: Future<Output = Result<BaseSocketGetOutOfBandInlineResult, Error>> + Send;
type SetNoCheckResponseFut: Future<Output = Result<BaseSocketSetNoCheckResult, Error>> + Send;
type GetNoCheckResponseFut: Future<Output = Result<BaseSocketGetNoCheckResult, Error>> + Send;
type SetLingerResponseFut: Future<Output = Result<BaseSocketSetLingerResult, Error>> + Send;
type GetLingerResponseFut: Future<Output = Result<BaseSocketGetLingerResult, Error>> + Send;
type SetReusePortResponseFut: Future<Output = Result<BaseSocketSetReusePortResult, Error>> + Send;
type SetReusePortDeprecatedResponseFut: Future<Output = Result<BaseSocketSetReusePortDeprecatedResult, Error>> + Send;
type GetReusePortResponseFut: Future<Output = Result<BaseSocketGetReusePortResult, Error>> + Send;
type GetAcceptConnResponseFut: Future<Output = Result<BaseSocketGetAcceptConnResult, Error>> + Send;
type SetBindToDeviceResponseFut: Future<Output = Result<BaseSocketSetBindToDeviceResult, Error>> + Send;
type GetBindToDeviceResponseFut: Future<Output = Result<BaseSocketGetBindToDeviceResult, Error>> + Send;
type SetBindToInterfaceIndexResponseFut: Future<Output = Result<BaseSocketSetBindToInterfaceIndexResult, Error>> + Send;
type GetBindToInterfaceIndexResponseFut: Future<Output = Result<BaseSocketGetBindToInterfaceIndexResult, Error>> + Send;
type SetTimestampResponseFut: Future<Output = Result<BaseSocketSetTimestampResult, Error>> + Send;
type GetTimestampResponseFut: Future<Output = Result<BaseSocketGetTimestampResult, Error>> + Send;
type SetMarkResponseFut: Future<Output = Result<BaseSocketSetMarkResult, Error>> + Send;
type GetMarkResponseFut: Future<Output = Result<BaseSocketGetMarkResult, Error>> + Send;
type GetCookieResponseFut: Future<Output = Result<BaseSocketGetCookieResult, Error>> + Send;
type DescribeResponseFut: Future<Output = Result<SocketDescribeResponse, Error>> + Send;
type BindResponseFut: Future<Output = Result<SocketBindResult, Error>> + Send;
type GetInfoResponseFut: Future<Output = Result<SocketGetInfoResult, Error>> + Send;
type RecvMsgResponseFut: Future<Output = Result<SocketRecvMsgResult, Error>> + Send;
type SendMsgResponseFut: Future<Output = Result<SocketSendMsgResult, Error>> + Send;
type AttachBpfFilterUnsafeResponseFut: Future<Output = Result<SocketAttachBpfFilterUnsafeResult, Error>> + Send;
// Required methods
fn clone(&self, request: ServerEnd<CloneableMarker>) -> Result<(), Error>;
fn close(&self) -> Self::CloseResponseFut;
fn query(&self) -> Self::QueryResponseFut;
fn set_reuse_address(&self, value: bool) -> Self::SetReuseAddressResponseFut;
fn get_reuse_address(&self) -> Self::GetReuseAddressResponseFut;
fn get_error(&self) -> Self::GetErrorResponseFut;
fn set_broadcast(&self, value: bool) -> Self::SetBroadcastResponseFut;
fn get_broadcast(&self) -> Self::GetBroadcastResponseFut;
fn set_send_buffer(
&self,
value_bytes: u64,
) -> Self::SetSendBufferResponseFut;
fn get_send_buffer(&self) -> Self::GetSendBufferResponseFut;
fn set_receive_buffer(
&self,
value_bytes: u64,
) -> Self::SetReceiveBufferResponseFut;
fn get_receive_buffer(&self) -> Self::GetReceiveBufferResponseFut;
fn set_keep_alive(&self, value: bool) -> Self::SetKeepAliveResponseFut;
fn get_keep_alive(&self) -> Self::GetKeepAliveResponseFut;
fn set_out_of_band_inline(
&self,
value: bool,
) -> Self::SetOutOfBandInlineResponseFut;
fn get_out_of_band_inline(&self) -> Self::GetOutOfBandInlineResponseFut;
fn set_no_check(&self, value: bool) -> Self::SetNoCheckResponseFut;
fn get_no_check(&self) -> Self::GetNoCheckResponseFut;
fn set_linger(
&self,
linger: bool,
length_secs: u32,
) -> Self::SetLingerResponseFut;
fn get_linger(&self) -> Self::GetLingerResponseFut;
fn set_reuse_port(
&self,
value: ReusePortOption,
) -> Self::SetReusePortResponseFut;
fn set_reuse_port_deprecated(
&self,
value: bool,
) -> Self::SetReusePortDeprecatedResponseFut;
fn get_reuse_port(&self) -> Self::GetReusePortResponseFut;
fn get_accept_conn(&self) -> Self::GetAcceptConnResponseFut;
fn set_bind_to_device(
&self,
value: &str,
) -> Self::SetBindToDeviceResponseFut;
fn get_bind_to_device(&self) -> Self::GetBindToDeviceResponseFut;
fn set_bind_to_interface_index(
&self,
value: u64,
) -> Self::SetBindToInterfaceIndexResponseFut;
fn get_bind_to_interface_index(
&self,
) -> Self::GetBindToInterfaceIndexResponseFut;
fn set_timestamp(
&self,
value: TimestampOption,
) -> Self::SetTimestampResponseFut;
fn get_timestamp(&self) -> Self::GetTimestampResponseFut;
fn set_mark(
&self,
domain: MarkDomain,
mark: &OptionalUint32,
) -> Self::SetMarkResponseFut;
fn get_mark(&self, domain: MarkDomain) -> Self::GetMarkResponseFut;
fn get_cookie(&self) -> Self::GetCookieResponseFut;
fn describe(&self) -> Self::DescribeResponseFut;
fn bind(
&self,
protocol: Option<&ProtocolAssociation>,
bound_interface_id: &BoundInterfaceId,
) -> Self::BindResponseFut;
fn get_info(&self) -> Self::GetInfoResponseFut;
fn recv_msg(
&self,
want_packet_info: bool,
data_len: u32,
want_control: bool,
flags: RecvMsgFlags,
) -> Self::RecvMsgResponseFut;
fn send_msg(
&self,
packet_info: Option<&PacketInfo>,
data: &[u8],
control: &SendControlData,
flags: SendMsgFlags,
) -> Self::SendMsgResponseFut;
fn attach_bpf_filter_unsafe(
&self,
code: &[u64],
) -> Self::AttachBpfFilterUnsafeResponseFut;
}Required Associated Types§
type CloseResponseFut: Future<Output = Result<CloseableCloseResult, Error>> + Send
type QueryResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send
type SetReuseAddressResponseFut: Future<Output = Result<BaseSocketSetReuseAddressResult, Error>> + Send
type GetReuseAddressResponseFut: Future<Output = Result<BaseSocketGetReuseAddressResult, Error>> + Send
type GetErrorResponseFut: Future<Output = Result<BaseSocketGetErrorResult, Error>> + Send
type SetBroadcastResponseFut: Future<Output = Result<BaseSocketSetBroadcastResult, Error>> + Send
type GetBroadcastResponseFut: Future<Output = Result<BaseSocketGetBroadcastResult, Error>> + Send
type SetSendBufferResponseFut: Future<Output = Result<BaseSocketSetSendBufferResult, Error>> + Send
type GetSendBufferResponseFut: Future<Output = Result<BaseSocketGetSendBufferResult, Error>> + Send
type SetReceiveBufferResponseFut: Future<Output = Result<BaseSocketSetReceiveBufferResult, Error>> + Send
type GetReceiveBufferResponseFut: Future<Output = Result<BaseSocketGetReceiveBufferResult, Error>> + Send
type SetKeepAliveResponseFut: Future<Output = Result<BaseSocketSetKeepAliveResult, Error>> + Send
type GetKeepAliveResponseFut: Future<Output = Result<BaseSocketGetKeepAliveResult, Error>> + Send
type SetOutOfBandInlineResponseFut: Future<Output = Result<BaseSocketSetOutOfBandInlineResult, Error>> + Send
type GetOutOfBandInlineResponseFut: Future<Output = Result<BaseSocketGetOutOfBandInlineResult, Error>> + Send
type SetNoCheckResponseFut: Future<Output = Result<BaseSocketSetNoCheckResult, Error>> + Send
type GetNoCheckResponseFut: Future<Output = Result<BaseSocketGetNoCheckResult, Error>> + Send
type SetLingerResponseFut: Future<Output = Result<BaseSocketSetLingerResult, Error>> + Send
type GetLingerResponseFut: Future<Output = Result<BaseSocketGetLingerResult, Error>> + Send
type SetReusePortResponseFut: Future<Output = Result<BaseSocketSetReusePortResult, Error>> + Send
type SetReusePortDeprecatedResponseFut: Future<Output = Result<BaseSocketSetReusePortDeprecatedResult, Error>> + Send
type GetReusePortResponseFut: Future<Output = Result<BaseSocketGetReusePortResult, Error>> + Send
type GetAcceptConnResponseFut: Future<Output = Result<BaseSocketGetAcceptConnResult, Error>> + Send
type SetBindToDeviceResponseFut: Future<Output = Result<BaseSocketSetBindToDeviceResult, Error>> + Send
type GetBindToDeviceResponseFut: Future<Output = Result<BaseSocketGetBindToDeviceResult, Error>> + Send
type SetBindToInterfaceIndexResponseFut: Future<Output = Result<BaseSocketSetBindToInterfaceIndexResult, Error>> + Send
type GetBindToInterfaceIndexResponseFut: Future<Output = Result<BaseSocketGetBindToInterfaceIndexResult, Error>> + Send
type SetTimestampResponseFut: Future<Output = Result<BaseSocketSetTimestampResult, Error>> + Send
type GetTimestampResponseFut: Future<Output = Result<BaseSocketGetTimestampResult, Error>> + Send
type SetMarkResponseFut: Future<Output = Result<BaseSocketSetMarkResult, Error>> + Send
type GetMarkResponseFut: Future<Output = Result<BaseSocketGetMarkResult, Error>> + Send
type GetCookieResponseFut: Future<Output = Result<BaseSocketGetCookieResult, Error>> + Send
type DescribeResponseFut: Future<Output = Result<SocketDescribeResponse, Error>> + Send
type BindResponseFut: Future<Output = Result<SocketBindResult, Error>> + Send
type GetInfoResponseFut: Future<Output = Result<SocketGetInfoResult, Error>> + Send
type RecvMsgResponseFut: Future<Output = Result<SocketRecvMsgResult, Error>> + Send
type SendMsgResponseFut: Future<Output = Result<SocketSendMsgResult, Error>> + Send
type AttachBpfFilterUnsafeResponseFut: Future<Output = Result<SocketAttachBpfFilterUnsafeResult, Error>> + Send
Required Methods§
fn clone(&self, request: ServerEnd<CloneableMarker>) -> Result<(), Error>
fn close(&self) -> Self::CloseResponseFut
fn query(&self) -> Self::QueryResponseFut
fn set_reuse_address(&self, value: bool) -> Self::SetReuseAddressResponseFut
fn get_reuse_address(&self) -> Self::GetReuseAddressResponseFut
fn get_error(&self) -> Self::GetErrorResponseFut
fn set_broadcast(&self, value: bool) -> Self::SetBroadcastResponseFut
fn get_broadcast(&self) -> Self::GetBroadcastResponseFut
fn set_send_buffer(&self, value_bytes: u64) -> Self::SetSendBufferResponseFut
fn get_send_buffer(&self) -> Self::GetSendBufferResponseFut
fn set_receive_buffer( &self, value_bytes: u64, ) -> Self::SetReceiveBufferResponseFut
fn get_receive_buffer(&self) -> Self::GetReceiveBufferResponseFut
fn set_keep_alive(&self, value: bool) -> Self::SetKeepAliveResponseFut
fn get_keep_alive(&self) -> Self::GetKeepAliveResponseFut
fn set_out_of_band_inline( &self, value: bool, ) -> Self::SetOutOfBandInlineResponseFut
fn get_out_of_band_inline(&self) -> Self::GetOutOfBandInlineResponseFut
fn set_no_check(&self, value: bool) -> Self::SetNoCheckResponseFut
fn get_no_check(&self) -> Self::GetNoCheckResponseFut
fn set_linger( &self, linger: bool, length_secs: u32, ) -> Self::SetLingerResponseFut
fn get_linger(&self) -> Self::GetLingerResponseFut
fn set_reuse_port( &self, value: ReusePortOption, ) -> Self::SetReusePortResponseFut
fn set_reuse_port_deprecated( &self, value: bool, ) -> Self::SetReusePortDeprecatedResponseFut
fn get_reuse_port(&self) -> Self::GetReusePortResponseFut
fn get_accept_conn(&self) -> Self::GetAcceptConnResponseFut
fn set_bind_to_device(&self, value: &str) -> Self::SetBindToDeviceResponseFut
fn get_bind_to_device(&self) -> Self::GetBindToDeviceResponseFut
fn set_bind_to_interface_index( &self, value: u64, ) -> Self::SetBindToInterfaceIndexResponseFut
fn get_bind_to_interface_index( &self, ) -> Self::GetBindToInterfaceIndexResponseFut
fn set_timestamp(&self, value: TimestampOption) -> Self::SetTimestampResponseFut
fn get_timestamp(&self) -> Self::GetTimestampResponseFut
fn set_mark( &self, domain: MarkDomain, mark: &OptionalUint32, ) -> Self::SetMarkResponseFut
fn get_mark(&self, domain: MarkDomain) -> Self::GetMarkResponseFut
fn describe(&self) -> Self::DescribeResponseFut
fn bind( &self, protocol: Option<&ProtocolAssociation>, bound_interface_id: &BoundInterfaceId, ) -> Self::BindResponseFut
fn get_info(&self) -> Self::GetInfoResponseFut
fn recv_msg( &self, want_packet_info: bool, data_len: u32, want_control: bool, flags: RecvMsgFlags, ) -> Self::RecvMsgResponseFut
fn send_msg( &self, packet_info: Option<&PacketInfo>, data: &[u8], control: &SendControlData, flags: SendMsgFlags, ) -> Self::SendMsgResponseFut
fn attach_bpf_filter_unsafe( &self, code: &[u64], ) -> Self::AttachBpfFilterUnsafeResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".