Skip to content

Instantly share code, notes, and snippets.

@rarous
Created November 13, 2012 12:04
Show Gist options
  • Select an option

  • Save rarous/4065421 to your computer and use it in GitHub Desktop.

Select an option

Save rarous/4065421 to your computer and use it in GitHub Desktop.
void RefreshProxyQueue()
{
var proxyQueue = queueFactory.Create();
var query = from provider in proxyProviders.ToObservable()
from proxy in provider.GetActualProxyList()
from isAvailable in IsAvailable(proxy)
where isAvailable
select proxy;
query.Subscribe(proxyQueue.Enqueue);
queue = proxyQueue;
}
IObservable<bool> IsAvailable(ProxyInfo proxy)
{
return Observable.Start(() =>
{
bool result = proxy.IsAvailable();
//Log...
return result;
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment