Exemplo n.º 1
0
        private void ExecuteJumps(ref NextItemPeek peek, out byte peekResult)
        {
            peekResult = 0x00;

            if (peek != NextItemPeek.Jump)
            {
                return;
            }

            do
            {
                var jump = LowLevelDatabaseIODevice.ReadJump();
                LowLevelDatabaseIODevice.Seek(jump);
                peek = LowLevelDatabaseIODevice.Peek(out peekResult);
            }while (peek == NextItemPeek.Jump);

            OptimalTokenSource.SetOptimalReadingTime(true);
        }
Exemplo n.º 2
0
            public NextItemPeek Peek(out byte peekResult)
            {
                if (ArrayIndex == Data.Length)
                {
                    peekResult = 0x00;
                    return(NextItemPeek.EOF);
                }

                if (PeekToReturn == NextItemPeek.Jump)
                {
                    // we will jmp then back
                    PeekToReturn = NextItemPeek.Index;

                    peekResult = 0xFF;
                    return(NextItemPeek.Jump);
                }

                peekResult = (byte)Data[ArrayIndex].Key.Length;
                return(PeekToReturn);
            }