private void RequestLoop()
{
using (var queueEmptyWait = new ManualResetEventSlim())
{
while (IsStarted)
{
try
{
if (IsInternetAvailable)
{
while (GetNextQueueEntry(out currentlySending))
{
RequestWithFailureRetry(currentlySending, cancellationTokenSource.Token);
currentlySending = null;
}
}
queueEmptyWait.Wait(currentUploadInterval, cancellationTokenSource.Token);
}
catch
{
}
}
}
}