C# Class Lucene.Net.Store.NIOFSDirectory

An FSDirectory implementation that uses java.nio's FileChannel's positional read, which allows multiple threads to read from the same file without synchronizing.

this class only uses FileChannel when reading; writing is achieved with FSDirectory.FSIndexOutput.

NOTE: NIOFSDirectory is not recommended on Windows because of a bug in how FileChannel.read is implemented in Sun's JRE. Inside of the implementation the position is apparently synchronized. See here for details.

NOTE: Accessing this class either directly or indirectly from a thread while it's interrupted can close the underlying file descriptor immediately if at the same time the thread is blocked on IO. The file descriptor will remain closed and subsequent access to NIOFSDirectory will throw a ClosedChannelException. If your application uses either Thread#interrupt() or Future#cancel(boolean) you should use SimpleFSDirectory in favor of NIOFSDirectory.

Inheritance: FSDirectory
显示文件 Open project: paulirwin/lucene.net Class Usage Examples

Public Methods

Method Description
CreateSlicer ( string name, IOContext context ) : IndexInputSlicer
NIOFSDirectory ( DirectoryInfo path ) : System.Threading

Create a new NIOFSDirectory for the named location and NativeFSLockFactory.

NIOFSDirectory ( DirectoryInfo path, Lucene.Net.Store.LockFactory lockFactory ) : System.Threading

Create a new NIOFSDirectory for the named location.

OpenInput ( string name, IOContext context ) : IndexInput

Creates an IndexInput for the file with the given name.

Method Details

CreateSlicer() public method

public CreateSlicer ( string name, IOContext context ) : IndexInputSlicer
name string
context IOContext
return IndexInputSlicer

NIOFSDirectory() public method

Create a new NIOFSDirectory for the named location and NativeFSLockFactory.
if there is a low-level I/O error
public NIOFSDirectory ( DirectoryInfo path ) : System.Threading
path System.IO.DirectoryInfo the path of the directory
return System.Threading

NIOFSDirectory() public method

Create a new NIOFSDirectory for the named location.
if there is a low-level I/O error
public NIOFSDirectory ( DirectoryInfo path, Lucene.Net.Store.LockFactory lockFactory ) : System.Threading
path System.IO.DirectoryInfo the path of the directory
lockFactory Lucene.Net.Store.LockFactory the lock factory to use, or null for the default /// ();
return System.Threading

OpenInput() public method

Creates an IndexInput for the file with the given name.
public OpenInput ( string name, IOContext context ) : IndexInput
name string
context IOContext
return IndexInput