fix(websocket): keep upgraded WebSocket tunnels on dedicated lifecycle timeouts
This commit is contained in:
@@ -154,6 +154,9 @@ pub struct ConnectionConfig {
|
||||
pub max_connections: u64,
|
||||
}
|
||||
|
||||
const DEFAULT_WS_INACTIVITY_TIMEOUT_MS: u64 = 3_600_000;
|
||||
const DEFAULT_WS_MAX_LIFETIME_MS: u64 = 86_400_000;
|
||||
|
||||
impl Default for ConnectionConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
@@ -225,8 +228,8 @@ impl TcpListenerManager {
|
||||
http_proxy_svc.set_connection_timeouts(
|
||||
std::time::Duration::from_millis(conn_config.socket_timeout_ms),
|
||||
std::time::Duration::from_millis(conn_config.max_connection_lifetime_ms),
|
||||
std::time::Duration::from_millis(conn_config.socket_timeout_ms),
|
||||
std::time::Duration::from_millis(conn_config.max_connection_lifetime_ms),
|
||||
std::time::Duration::from_millis(DEFAULT_WS_INACTIVITY_TIMEOUT_MS),
|
||||
std::time::Duration::from_millis(DEFAULT_WS_MAX_LIFETIME_MS),
|
||||
);
|
||||
let http_proxy = Arc::new(http_proxy_svc);
|
||||
let conn_tracker = Arc::new(ConnectionTracker::new(
|
||||
@@ -266,8 +269,8 @@ impl TcpListenerManager {
|
||||
http_proxy_svc.set_connection_timeouts(
|
||||
std::time::Duration::from_millis(conn_config.socket_timeout_ms),
|
||||
std::time::Duration::from_millis(conn_config.max_connection_lifetime_ms),
|
||||
std::time::Duration::from_millis(conn_config.socket_timeout_ms),
|
||||
std::time::Duration::from_millis(conn_config.max_connection_lifetime_ms),
|
||||
std::time::Duration::from_millis(DEFAULT_WS_INACTIVITY_TIMEOUT_MS),
|
||||
std::time::Duration::from_millis(DEFAULT_WS_MAX_LIFETIME_MS),
|
||||
);
|
||||
let http_proxy = Arc::new(http_proxy_svc);
|
||||
let conn_tracker = Arc::new(ConnectionTracker::new(
|
||||
@@ -313,8 +316,8 @@ impl TcpListenerManager {
|
||||
http_proxy_svc.set_connection_timeouts(
|
||||
std::time::Duration::from_millis(config.socket_timeout_ms),
|
||||
std::time::Duration::from_millis(config.max_connection_lifetime_ms),
|
||||
std::time::Duration::from_millis(config.socket_timeout_ms),
|
||||
std::time::Duration::from_millis(config.max_connection_lifetime_ms),
|
||||
std::time::Duration::from_millis(DEFAULT_WS_INACTIVITY_TIMEOUT_MS),
|
||||
std::time::Duration::from_millis(DEFAULT_WS_MAX_LIFETIME_MS),
|
||||
);
|
||||
self.http_proxy = Arc::new(http_proxy_svc);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user