selectProxy method
Selects the next proxy from the given list
Implementation
@override
Proxy selectProxy(List<Proxy> proxies) {
if (proxies.isEmpty) {
throw ArgumentError('Proxy list cannot be empty');
}
// Sort proxies by last used timestamp (ascending)
final sortedProxies = List<Proxy>.from(proxies)..sort((a, b) {
int aLastUsed = 0;
int bLastUsed = 0;
if (a is ProxyModel && a.score != null) {
aLastUsed = a.score!.lastUsed;
}
if (b is ProxyModel && b.score != null) {
bLastUsed = b.score!.lastUsed;
}
return aLastUsed.compareTo(bLastUsed);
});
return sortedProxies.first;
}