GetOtherHeadersEnumerator() private method

private GetOtherHeadersEnumerator ( ) : IEnumerator
return IEnumerator
Example #1
0
        } // BaseTransportHeadersEnumerator

        public bool MoveNext()
        {
            if (_currentIndex != -1)
            {
                if (_bStarted)
                {
                    _currentIndex++;
                }
                else
                {
                    _bStarted = true;
                }

                while (_currentIndex != -1)
                {
                    if (_currentIndex >= BaseTransportHeaders.WellknownHeaderCount)
                    {
                        _otherHeadersEnumerator = _headers.GetOtherHeadersEnumerator();
                        _currentIndex           = -1;
                    }
                    else
                    {
                        if (_headers.GetValueFromHeaderIndex(_currentIndex) != null)
                        {
                            return(true);
                        }

                        _currentIndex++;
                    }
                }
            }

            if (_otherHeadersEnumerator != null)
            {
                if (!_otherHeadersEnumerator.MoveNext())
                {
                    _otherHeadersEnumerator = null;
                    return(false);
                }
                else
                {
                    return(true);
                }
            }

            return(false);
        } // MoveNext