Lucene.Net.Codecs.BlockTreeTermsReader.FieldReader.SegmentTermsEnum.PushFrame C# (CSharp) Метод

PushFrame() приватный Метод

private PushFrame ( FST arc, BytesRef frameData, int length ) : Frame
arc FST
frameData BytesRef
length int
Результат Frame
                internal Frame PushFrame(FST.Arc<BytesRef> arc, BytesRef frameData, int length)
                {
                    ScratchReader.Reset((byte[])(Array)frameData.Bytes, frameData.Offset, frameData.Length);
                    long code = ScratchReader.ReadVLong();
                    long fpSeek = (long)((ulong)code >> BlockTreeTermsWriter.OUTPUT_FLAGS_NUM_BITS);
                    Frame f = GetFrame(1 + CurrentFrame.Ord);
                    f.HasTerms = (code & BlockTreeTermsWriter.OUTPUT_FLAG_HAS_TERMS) != 0;
                    f.HasTermsOrig = f.HasTerms;
                    f.IsFloor = (code & BlockTreeTermsWriter.OUTPUT_FLAG_IS_FLOOR) != 0;
                    if (f.IsFloor)
                    {
                        f.SetFloorData(ScratchReader, frameData);
                    }
                    PushFrame(arc, fpSeek, length);

                    return f;
                }

Same methods

BlockTreeTermsReader.FieldReader.SegmentTermsEnum::PushFrame ( FST arc, long fp, int length ) : Frame