Lucene++ - a full-featured, c++ search engine
API Documentation
Implements LockFactory
for a single in-process instance, meaning all locking will take place through this one instance. Only use this LockFactory
when you are certain all IndexReaders and IndexWriters for a given index are running against a single shared in-process Directory instance. This is currently the default locking for RAMDirectory.
More...
#include <SingleInstanceLockFactory.h>
Public Member Functions | |
SingleInstanceLockFactory () | |
virtual | ~SingleInstanceLockFactory () |
virtual String | getClassName () |
boost::shared_ptr< SingleInstanceLockFactory > | 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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
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 String | _getClassName () |
Protected Attributes | |
HashSet< String > | locks |
![]() | |
String | lockPrefix |
![]() | |
SynchronizePtr | objectLock |
LuceneSignalPtr | objectSignal |
Additional Inherited Members | |
![]() | |
LuceneObject () | |
Implements LockFactory
for a single in-process instance, meaning all locking will take place through this one instance. Only use this LockFactory
when you are certain all IndexReaders and IndexWriters for a given index are running against a single shared in-process Directory instance. This is currently the default locking for RAMDirectory.
Lucene::SingleInstanceLockFactory::SingleInstanceLockFactory | ( | ) |
|
virtual |
|
inlinestatic |
|
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.
lockName | name of the lock to be cleared. |
Implements Lucene::LockFactory.
|
inlinevirtual |
Reimplemented from Lucene::LockFactory.
|
virtual |
Return a new Lock instance identified by lockName.
lockName | name of the lock to be created. |
Implements Lucene::LockFactory.
|
inline |
|
protected |