refactor: move socket helper to proxmox crate
and constant to tools module. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
committed by
Dietmar Maurer
parent
c474a66b41
commit
3241392117
@ -18,12 +18,11 @@ use tokio::{
|
||||
};
|
||||
use tokio_openssl::SslStream;
|
||||
|
||||
use proxmox::sys::linux::socket::set_tcp_keepalive;
|
||||
|
||||
use crate::tools::{
|
||||
PROXMOX_BACKUP_TCP_KEEPALIVE_TIME,
|
||||
async_io::MaybeTlsStream,
|
||||
socket::{
|
||||
set_tcp_keepalive,
|
||||
PROXMOX_BACKUP_TCP_KEEPALIVE_TIME,
|
||||
},
|
||||
};
|
||||
|
||||
// Build a http::uri::Authority ("host:port"), use '[..]' around IPv6 addresses
|
||||
|
@ -1,23 +0,0 @@
|
||||
use std::os::unix::io::RawFd;
|
||||
|
||||
use nix::sys::socket::sockopt::{KeepAlive, TcpKeepIdle};
|
||||
use nix::sys::socket::setsockopt;
|
||||
|
||||
pub const PROXMOX_BACKUP_TCP_KEEPALIVE_TIME: u32 = 120;
|
||||
|
||||
/// Set TCP keepalive time on a socket
|
||||
///
|
||||
/// See "man 7 tcp" for details.
|
||||
///
|
||||
/// The default on Linux is 7200 (2 hours) which is far too long for
|
||||
/// our backup tools.
|
||||
pub fn set_tcp_keepalive(
|
||||
socket_fd: RawFd,
|
||||
tcp_keepalive_time: u32,
|
||||
) -> nix::Result<()> {
|
||||
|
||||
setsockopt(socket_fd, KeepAlive, &true)?;
|
||||
setsockopt(socket_fd, TcpKeepIdle, &tcp_keepalive_time)?;
|
||||
|
||||
Ok(())
|
||||
}
|
Reference in New Issue
Block a user