public void Run()
{
Login();
Segment segment;
while (keepAlive)
{
// Check Queuehandler..
if ((segment = handler.getNextQueueItem()) != null)
{
currentSegment = segment;
segment.status = Segment.Status.DOWNLOADING;
idle = false;
try
{
segment.data = RecieveSegment(segment);
YDecoder.Instance.DecodeSegment(segment);
}
catch (Exception ex)
{
segment.status = Segment.Status.QUEUED;
}
idle = true;
currentSegment = null;
}
else
{
Thread.Sleep(1000);
}
}
}