diff --git a/matrix-util.js b/matrix-util.js index 1bae060..be8e6fd 100644 --- a/matrix-util.js +++ b/matrix-util.js @@ -110,7 +110,7 @@ MatrixUtil.prototype.isPartnerOffline = function(partner) { return true; } -MatrixUtil.prototype.isPartnerHealthy = function(partner) { +MatrixUtil.prototype._isPartnerHealthy = function(partner) { if (!partner) { return; } partner = _cleanPartnerId(partner); @@ -135,6 +135,26 @@ MatrixUtil.prototype.isPartnerHealthy = function(partner) { return isHealthy; } +MatrixUtil.prototype.isPartnerHealthy = function(partner) { + let isHealthy = this._isPartnerHealthy(partner); + + if (!matrix.healthy_partners) { + matrix.healthy_partners = []; + } + + // update matrix + if (isHealthy) { + matrix.healthy_partners.push(partner); + } + else { + let idx = matrix.healthy_partners.indexOf(partner); + if (idx > -1) { + matrix.healthy_partners.splice(idx, 1); + } + } + + return isHealthy; +} MatrixUtil.prototype._updateLastResponseTime = function(partner) { let matrix = this.matrix;