BlipFace.Presenter.StatusesPresenter.ConsumeStatuses C# (CSharp) Method

ConsumeStatuses() private method

Metoda wykonywana w oddzielnym wątku, pobiera ona statusy(pochodzące z updateów) z kolejki i przetwarza je i wstawia do widoku, null zatrzymuje kolejkę
private ConsumeStatuses ( ) : void
return void
        private void ConsumeStatuses()
        {
            while (true)
            {
                try
                {
                    StatusViewModel status = null;

                    lock (lockUpdateQueue)
                    {
                        while (statusUpdateQueue.Count == 0)
                        {
                            Monitor.Wait(lockUpdateQueue, TimeSpan.FromSeconds(refreshTimeSec));
                        }
                        status = statusUpdateQueue.Dequeue();
                    }

                    if (status == null)
                    {
                        break;
                    }

                    if (view.Statuses[0].StatusId < status.StatusId)
                    {
                        RetriveStatusHyperlinks(status);

                        view.AddStatus(status, true);
                    }
                }
                catch (Exception exp)
                {
                    view.Error = exp;
                }
            }
        }