updateProxies method
Updates the internal list of proxies
Implementation
@override
void updateProxies(List<Proxy> proxies) {
_proxies.clear();
_proxies.addAll(proxies);
// Initialize weights for new proxies
for (final proxy in proxies) {
final key = _getProxyKey(proxy);
if (!_weights.containsKey(key)) {
_weights[key] = 1.0;
_history[key] = [];
}
}
// Remove weights for proxies that are no longer in the list
final keysToRemove = <String>[];
for (final key in _weights.keys) {
if (!proxies.any((p) => _getProxyKey(p) == key)) {
keysToRemove.add(key);
}
}
for (final key in keysToRemove) {
_weights.remove(key);
_history.remove(key);
_lastUsed.remove(key);
}
}