pub struct SocketConfig {Show 20 fields
pub mark: i32,
pub tfo: i32,
pub tproxy: i32,
pub receive_original_dest_address: bool,
pub bind_address: Vec<u8>,
pub bind_port: u32,
pub accept_proxy_protocol: bool,
pub domain_strategy: i32,
pub dialer_proxy: String,
pub tcp_keep_alive_interval: i32,
pub tcp_keep_alive_idle: i32,
pub tcp_congestion: String,
pub interface: String,
pub v6only: bool,
pub tcp_window_clamp: i32,
pub tcp_user_timeout: i32,
pub tcp_max_seg: i32,
pub tcp_no_delay: bool,
pub tcp_mptcp: bool,
pub custom_sockopt: Vec<CustomSockopt>,
}Expand description
SocketConfig is options to be applied on network sockets.
Fields§
§mark: i32Mark of the connection. If non-zero, the value will be set to SO_MARK.
tfo: i32TFO is the state of TFO settings.
tproxy: i32TProxy is for enabling TProxy socket option.
receive_original_dest_address: boolReceiveOriginalDestAddress is for enabling IP_RECVORIGDSTADDR socket option. This option is for UDP only.
bind_address: Vec<u8>§bind_port: u32§accept_proxy_protocol: bool§domain_strategy: i32§dialer_proxy: String§tcp_keep_alive_interval: i32§tcp_keep_alive_idle: i32§tcp_congestion: String§interface: String§v6only: bool§tcp_window_clamp: i32§tcp_user_timeout: i32§tcp_max_seg: i32§tcp_no_delay: bool§tcp_mptcp: bool§custom_sockopt: Vec<CustomSockopt>Implementations§
Source§impl SocketConfig
impl SocketConfig
Sourcepub fn tproxy(&self) -> TProxyMode
pub fn tproxy(&self) -> TProxyMode
Returns the enum value of tproxy, or the default if the field is set to an invalid enum value.
Sourcepub fn set_tproxy(&mut self, value: TProxyMode)
pub fn set_tproxy(&mut self, value: TProxyMode)
Sets tproxy to the provided enum value.
Sourcepub fn domain_strategy(&self) -> DomainStrategy
pub fn domain_strategy(&self) -> DomainStrategy
Returns the enum value of domain_strategy, or the default if the field is set to an invalid enum value.
Sourcepub fn set_domain_strategy(&mut self, value: DomainStrategy)
pub fn set_domain_strategy(&mut self, value: DomainStrategy)
Sets domain_strategy to the provided enum value.
Trait Implementations§
Source§impl Clone for SocketConfig
impl Clone for SocketConfig
Source§fn clone(&self) -> SocketConfig
fn clone(&self) -> SocketConfig
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SocketConfig
impl Debug for SocketConfig
Source§impl Default for SocketConfig
impl Default for SocketConfig
Source§impl Message for SocketConfig
impl Message for SocketConfig
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl Name for SocketConfig
impl Name for SocketConfig
Source§const NAME: &'static str = "SocketConfig"
const NAME: &'static str = "SocketConfig"
Simple name for this
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§const PACKAGE: &'static str = "xray.transport.internet"
const PACKAGE: &'static str = "xray.transport.internet"
Package name this message type is contained in. They are domain-like
and delimited by
., e.g. google.protobuf.Source§fn full_name() -> String
fn full_name() -> String
Fully-qualified unique name for this
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for SocketConfig
impl PartialEq for SocketConfig
impl StructuralPartialEq for SocketConfig
Auto Trait Implementations§
impl Freeze for SocketConfig
impl RefUnwindSafe for SocketConfig
impl Send for SocketConfig
impl Sync for SocketConfig
impl Unpin for SocketConfig
impl UnwindSafe for SocketConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request