Метод set_nodelay
Метод set_nodelay устанавливает или снимает
флаг TCP_NODELAY для TCP-соединения.
Когда этот флаг включён, алгоритм Нейгла отключается,
и данные отправляются немедленно, без ожидания
накопления дополнительных пакетов. Параметром метод
принимает булево значение: true включает
режим TCP_NODELAY, а false выключает
его. Метод возвращает Result с типом
io::Result<()>.
Синтаксис
tcp_stream.set_nodelay(nodelay)
Пример
Давайте установим соединение с сервером и включим
режим TCP_NODELAY:
use std::net::TcpStream;
fn main()
{
let stream = TcpStream::connect("127.0.0.1:8080");
match stream
{
Ok(stream) =>
{
let res = stream.set_nodelay(true);
println!("{:?}", res);
},
Err(e) =>
{
println!("Connection error: {}", e);
}
}
}
Результат выполнения кода:
Ok(())
Пример
Давайте выключим режим TCP_NODELAY
для установленного соединения:
use std::net::TcpStream;
fn main()
{
let stream = TcpStream::connect("127.0.0.1:8080");
match stream
{
Ok(stream) =>
{
let res = stream.set_nodelay(false);
println!("{:?}", res);
},
Err(e) =>
{
println!("Connection error: {}", e);
}
}
}
Результат выполнения кода:
Ok(())
Смотрите также
-
метод
nodelay,
который возвращает текущее значение флага TCP_NODELAY -
метод
set_ttl,
который устанавливает время жизни пакетов -
метод
set_read_timeout,
который устанавливает таймаут для операций чтения -
метод
set_write_timeout,
который устанавливает таймаут для операций записи