void boundaryWaiter_MeetGuard(object sender, EventArgs e)
 {
     EntityBodyChunkStateWaiter sw = sender as EntityBodyChunkStateWaiter;
     sw.Reset();
     _current = _boundaryInfoWaiter;
     _current.Wait(sw);
 }
        private void Inspect(byte[] buffer, int offset)
        {
            if (buffer == null)
            {
                return;
            }

            _current.Wait(buffer, offset);
        }
        void formValueWaiter_MeetGuard(object sender, EventArgs e)
        {
            EntityBodyChunkStateWaiter sw = sender as EntityBodyChunkStateWaiter;

            string fieldValue = sw.Value;

            statistic.AddFormField(_lastCdName, fieldValue);

            sw.Reset();

            _current = _boundaryWaiter;
            _current.Wait();
        }
 void boundaryInfoWaiter_MeetGuard(object sender, EventArgs e)
 {
     EntityBodyChunkStateWaiter sw = sender as EntityBodyChunkStateWaiter;
     ContentDispositionInfo cdi = UploadProgressUtils.GetContentDisposition(sw.Value);
     sw.Reset();
     if (!cdi.IsFile)
     {
         _lastCdName = cdi.name;
         _current = _formValueWaiter;
         _current.Wait(sw);
     }
     else
     {
         statistic.BeginFileUpload(cdi.filename);
         _current = _boundaryWaiter;
         _current.Wait(sw);
     }
 }
        void boundaryInfoWaiter_MeetGuard(object sender, EventArgs e)
        {
            EntityBodyChunkStateWaiter sw  = sender as EntityBodyChunkStateWaiter;
            ContentDispositionInfo     cdi = UploadProgressUtils.GetContentDisposition(sw.Value);

            sw.Reset();
            if (!cdi.IsFile)
            {
                _lastCdName = cdi.name;
                _current    = _formValueWaiter;
                _current.Wait(sw);
            }
            else
            {
                statistic.BeginFileUpload(cdi.filename);
                _current = _boundaryWaiter;
                _current.Wait(sw);
            }
        }
        void formValueWaiter_MeetGuard(object sender, EventArgs e)
        {
            EntityBodyChunkStateWaiter sw = sender as EntityBodyChunkStateWaiter;

            string fieldValue = sw.Value;
            statistic.AddFormField(_lastCdName, fieldValue);

            sw.Reset();

            _current = _boundaryWaiter;
            _current.Wait();
        }