feat(ssh-multiplexing): add connection age metadata handling to improve multiplexed connection management

This commit is contained in:
Andras Bacsai
2025-09-10 08:38:36 +02:00
parent b433f17dac
commit 40f2471c5a

View File

@@ -44,6 +44,12 @@ class SshMultiplexingHelper
return self::establishNewMultiplexedConnection($server); return self::establishNewMultiplexedConnection($server);
} }
// Connection exists, ensure we have metadata for age tracking
if (self::getConnectionAge($server) === null) {
// Existing connection but no metadata, store current time as fallback
self::storeConnectionMetadata($server);
}
// Connection exists, check if it needs refresh due to age // Connection exists, check if it needs refresh due to age
if (self::isConnectionExpired($server)) { if (self::isConnectionExpired($server)) {
return self::refreshMultiplexedConnection($server); return self::refreshMultiplexedConnection($server);
@@ -278,11 +284,6 @@ class SshMultiplexingHelper
*/ */
public static function refreshMultiplexedConnection(Server $server): bool public static function refreshMultiplexedConnection(Server $server): bool
{ {
Log::debug('Refreshing SSH multiplexed connection', [
'server' => $server->name ?? $server->ip,
'age' => self::getConnectionAge($server),
]);
// Close existing connection // Close existing connection
self::removeMuxFile($server); self::removeMuxFile($server);