浏览代码

transport/tcp: Add some Linux-specific socket configurations.

parazyd 4 年之前
父节点
当前提交
079dab18f3
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      src/net/transport/tcp.rs

+ 7 - 0
src/net/transport/tcp.rs

@@ -121,6 +121,13 @@ impl TcpTransport {
             socket.set_ttl(ttl)?;
         }
 
+        // TODO: Perhaps make these configurable
+        socket.set_nodelay(true)?;
+        let keepalive = TcpKeepalive::new().with_time(Duration::from_secs(20));
+        socket.set_tcp_keepalive(&keepalive)?;
+        // TODO: Make sure to disallow running multiple instances of a program using this.
+        socket.set_reuse_port(true)?;
+
         Ok(socket)
     }