Lucene++ - a full-featured, c++ search engine
API Documentation

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions
Lucene::NativeFSLockFactory Class Reference

Implements `LockFactory` using native file lock. More...

`#include <NativeFSLockFactory.h>`

Inheritance diagram for Lucene::NativeFSLockFactory:

## Public Member Functions

| NativeFSLockFactory (const String &lockDirName=EmptyString)
| Create a NativeFSLockFactory instance, storing lock files into the specified lockDirName.
virtual | ~NativeFSLockFactory ()
virtual String | getClassName ()
boost::shared_ptr< NativeFSLockFactory > | shared_from_this ()
virtual LockPtr | makeLock (const String &lockName)
| Return a new Lock instance identified by lockName.
virtual void | clearLock (const String &lockName)
| Attempt to clear (forcefully unlock and remove) the specified lock. Only call this at a time when you are certain this lock is no longer in use.
Public Member Functions inherited from Lucene::FSLockFactory
virtual | ~FSLockFactory ()
boost::shared_ptr< FSLockFactory > | shared_from_this ()
void | setLockDir (const String &lockDir)
| Set the lock directory. This method can be only called once to initialize the lock directory. It is used by `FSDirectory` to set the lock directory to itself. Subclasses can also use this method to set the directory in the constructor.
String | getLockDir ()
| Retrieve the lock directory.
Public Member Functions inherited from Lucene::LockFactory
virtual | ~LockFactory ()
boost::shared_ptr< LockFactory > | shared_from_this ()
virtual void | setLockPrefix (const String &lockPrefix)
| Set the prefix in use for all locks created in this LockFactory. This is normally called once, when a Directory gets this LockFactory instance. However, you can also call this (after this instance is assigned to a Directory) to override the prefix in use. This is helpful if you're running Lucene on machines that have different mount points for the same shared directory.
virtual String | getLockPrefix ()
| Get the prefix in use for all locks created in this LockFactory.
Public Member Functions inherited from Lucene::LuceneObject
virtual | ~LuceneObject ()
virtual void | initialize ()
| Called directly after instantiation to create objects that depend on this object being fully constructed.
virtual LuceneObjectPtr | clone (const LuceneObjectPtr &other=LuceneObjectPtr())
| Return clone of this object.
virtual int32_t | hashCode ()
| Return hash code for this object.
virtual bool | equals (const LuceneObjectPtr &other)
| Return whether two objects are equal.
virtual int32_t | compareTo (const LuceneObjectPtr &other)
| Compare two objects.
virtual String | toString ()
| Returns a string representation of the object.
Public Member Functions inherited from Lucene::LuceneSync
virtual | ~LuceneSync ()
virtual SynchronizePtr | getSync ()
| Return this object synchronize lock.
virtual LuceneSignalPtr | getSignal ()
| Return this object signal.
virtual void | lock (int32_t timeout=0)
| Lock this object using an optional timeout.
virtual void | unlock ()
| Unlock this object.
virtual bool | holdsLock ()
| Returns true if this object is currently locked by current thread.
virtual void | wait (int32_t timeout=0)
| Wait for signal using an optional timeout.
virtual void | notifyAll ()
| Notify all threads waiting for signal.

## Static Public Member Functions

static String | _getClassName ()
Static Public Member Functions inherited from Lucene::FSLockFactory
static String | _getClassName ()
Static Public Member Functions inherited from Lucene::LockFactory
static String | _getClassName ()

## Protected Member Functions

void | acquireTestLock ()
| Simple test to verify locking system is "working". On NFS, if it's mis-configured, you can hit long (35 second) timeouts which cause Lock.obtain to take far too long (it assumes the obtain() call takes zero time).
Protected Member Functions inherited from Lucene::FSLockFactory
| FSLockFactory ()
Protected Member Functions inherited from Lucene::LuceneObject
| LuceneObject ()

## Additional Inherited Members

Protected Attributes inherited from Lucene::FSLockFactory
String | lockDir
| Directory for the lock files.
Protected Attributes inherited from Lucene::LockFactory
String | lockPrefix
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr | objectLock
LuceneSignalPtr | objectSignal

## Detailed Description

Implements `LockFactory` using native file lock.

See also
  LockFactory

## Constructor & Destructor Documentation

## ◆ NativeFSLockFactory()

Lucene::NativeFSLockFactory::NativeFSLockFactory | ( | const String & | lockDirName = `EmptyString` | ) |

Create a NativeFSLockFactory instance, storing lock files into the specified lockDirName.

Parameters

  lockDirName | where lock files are created.

## ◆ ~NativeFSLockFactory()

virtual Lucene::NativeFSLockFactory::~NativeFSLockFactory | ( |  | ) |

virtual

## Member Function Documentation

## ◆ _getClassName()

static String Lucene::NativeFSLockFactory::_getClassName | ( |  | ) |

inline static

## ◆ acquireTestLock()

void Lucene::NativeFSLockFactory::acquireTestLock | ( |  | ) |

protected

Simple test to verify locking system is "working". On NFS, if it's mis-configured, you can hit long (35 second) timeouts which cause Lock.obtain to take far too long (it assumes the obtain() call takes zero time).

## ◆ clearLock()

virtual void Lucene::NativeFSLockFactory::clearLock | ( | const String & | lockName | ) |

virtual

Attempt to clear (forcefully unlock and remove) the specified lock. Only call this at a time when you are certain this lock is no longer in use.

Parameters

  lockName | name of the lock to be cleared.

Implements Lucene::LockFactory.

## ◆ getClassName()

virtual String Lucene::NativeFSLockFactory::getClassName | ( |  | ) |

inline virtual

Reimplemented from Lucene::FSLockFactory.

## ◆ makeLock()

virtual LockPtr Lucene::NativeFSLockFactory::makeLock | ( | const String & | lockName | ) |

virtual

Return a new Lock instance identified by lockName.

Parameters

  lockName | name of the lock to be created.

Implements Lucene::LockFactory.

## ◆ shared_from_this()

boost::shared_ptr< NativeFSLockFactory > Lucene::NativeFSLockFactory::shared_from_this | ( |  | ) |

inline

The documentation for this class was generated from the following file:

- NativeFSLockFactory.h

clucene.sourceforge.net