pub struct Config {
pub listen_addresses: Vec<Multiaddr>,
pub reuse_port: bool,
pub nodelay: bool,
pub yamux_config: Config,
pub noise_read_ahead_frame_count: usize,
pub noise_write_buffer_size: usize,
pub connection_open_timeout: Duration,
pub substream_open_timeout: Duration,
}
Expand description
TCP transport configuration.
Fields§
§listen_addresses: Vec<Multiaddr>
Listen address for the transport.
Default listen addresses are [“/ip4/0.0.0.0/tcp/0”, “/ip6/::/tcp/0”].
reuse_port: bool
Whether to set SO_REUSEPORT
and bind a socket to the listen address port for outbound
connections.
Note that SO_REUSEADDR
is always set on listening sockets.
Defaults to true
.
nodelay: bool
Enable TCP_NODELAY
.
Defaults to false
.
yamux_config: Config
Yamux configuration.
noise_read_ahead_frame_count: usize
Noise read-ahead frame count.
Specifies how many Noise frames are read per call to the underlying socket.
By default this is configured to 5
so each call to the underlying socket can read up
to 5
Noise frame per call. Fewer frames may be read if there isn’t enough data in the
socket. Each Noise frame is 65 KB
so the default setting allocates 65 KB * 5 = 325 KB
per connection.
noise_write_buffer_size: usize
Noise write buffer size.
Specifes how many Noise frames are tried to be coalesced into a single system call.
By default the value is set to 2
which means that the NoiseSocket
will allocate
130 KB
for each outgoing connection.
The write buffer size is separate from the read-ahead frame count so by default
the Noise code will allocate 2 * 65 KB + 5 * 65 KB = 455 KB
per connection.
connection_open_timeout: Duration
Connection open timeout.
How long should litep2p wait for a connection to be opened before the host is deemed unreachable.
substream_open_timeout: Duration
Substream open timeout.
How long should litep2p wait for a substream to be opened before considering the substream rejected.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)