org.infinispan.lucene
Class SingleChunkIndexInput

java.lang.Object
  extended by org.apache.lucene.store.DataInput
      extended by org.apache.lucene.store.IndexInput
          extended by org.infinispan.lucene.SingleChunkIndexInput
All Implemented Interfaces:
Closeable, Cloneable

public final class SingleChunkIndexInput
extends org.apache.lucene.store.IndexInput

SingleChunkIndexInput can be used instead of InfinispanIndexInput to read a segment when it has a size small enough to fit in a single chunk. In this quite common case for some segment types we don't need the readLock to span multiple chunks, the pointer to the buffer is safe enough. This leads to an extreme simple implementation.

Since:
4.0
Author:
Sanne Grinovero

Constructor Summary
SingleChunkIndexInput(AdvancedCache<?,?> chunksCache, FileCacheKey fileKey, FileMetadata fileMetadata)
           
 
Method Summary
 void close()
           
 long getFilePointer()
           
 long length()
           
 byte readByte()
           
 void readBytes(byte[] b, int offset, int len)
           
 void seek(long pos)
           
 
Methods inherited from class org.apache.lucene.store.IndexInput
copyBytes, skipChars, toString
 
Methods inherited from class org.apache.lucene.store.DataInput
clone, readBytes, readChars, readInt, readLong, readShort, readString, readStringStringMap, readVInt, readVLong, setModifiedUTF8StringsMode
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SingleChunkIndexInput

public SingleChunkIndexInput(AdvancedCache<?,?> chunksCache,
                             FileCacheKey fileKey,
                             FileMetadata fileMetadata)
Method Detail

close

public void close()
Specified by:
close in interface Closeable
Specified by:
close in class org.apache.lucene.store.IndexInput

getFilePointer

public long getFilePointer()
Specified by:
getFilePointer in class org.apache.lucene.store.IndexInput

length

public long length()
Specified by:
length in class org.apache.lucene.store.IndexInput

readByte

public byte readByte()
              throws IOException
Specified by:
readByte in class org.apache.lucene.store.DataInput
Throws:
IOException

readBytes

public void readBytes(byte[] b,
                      int offset,
                      int len)
               throws IOException
Specified by:
readBytes in class org.apache.lucene.store.DataInput
Throws:
IOException

seek

public void seek(long pos)
Specified by:
seek in class org.apache.lucene.store.IndexInput

-->

Copyright © 2012 JBoss, a division of Red Hat. All Rights Reserved.