소스 검색

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)
     }