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


Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes
Lucene::Lock Class Referenceabstract

An interprocess mutex lock. More...

#include <Lock.h>

+ Inheritance diagram for Lucene::Lock:

Public Member Functions

virtual ~Lock ()
 
virtual String getClassName ()
 
boost::shared_ptr< Lockshared_from_this ()
 
virtual bool obtain ()=0
 Attempts to obtain exclusive access and immediately return upon success or failure.
 
virtual void release ()=0
 Releases exclusive access.
 
virtual bool isLocked ()=0
 Returns true if the resource is currently locked. Note that one must still call obtain() before using the resource.
 
bool obtain (int32_t lockWaitTimeout)
 Attempts to obtain an exclusive lock within amount of time given. Polls once per LOCK_POLL_INTERVAL (currently 1000) milliseconds until lockWaitTimeout is passed.
 
- 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 Attributes

static const int32_t LOCK_OBTAIN_WAIT_FOREVER
 How long obtain(int64_t) waits, in milliseconds, in between attempts to acquire the lock.
 
static const int32_t LOCK_POLL_INTERVAL
 Pass this value to obtain(int64_t) to try forever to obtain the lock.
 

Additional Inherited Members

- Protected Member Functions inherited from Lucene::LuceneObject
 LuceneObject ()
 
- Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr objectLock
 
LuceneSignalPtr objectSignal
 

Detailed Description

An interprocess mutex lock.

See also
Directory::makeLock(const String&)

Constructor & Destructor Documentation

◆ ~Lock()

virtual Lucene::Lock::~Lock ( )
virtual

Member Function Documentation

◆ _getClassName()

static String Lucene::Lock::_getClassName ( )
inlinestatic

◆ getClassName()

virtual String Lucene::Lock::getClassName ( )
inlinevirtual

◆ isLocked()

virtual bool Lucene::Lock::isLocked ( )
pure virtual

Returns true if the resource is currently locked. Note that one must still call obtain() before using the resource.

◆ obtain() [1/2]

virtual bool Lucene::Lock::obtain ( )
pure virtual

Attempts to obtain exclusive access and immediately return upon success or failure.

Returns
true if exclusive access is obtained.

◆ obtain() [2/2]

bool Lucene::Lock::obtain ( int32_t  lockWaitTimeout)

Attempts to obtain an exclusive lock within amount of time given. Polls once per LOCK_POLL_INTERVAL (currently 1000) milliseconds until lockWaitTimeout is passed.

Parameters
lockWaitTimeoutlength of time to wait in milliseconds or LOCK_OBTAIN_WAIT_FOREVER to retry forever.
Returns
true if lock was obtained.

◆ release()

virtual void Lucene::Lock::release ( )
pure virtual

Releases exclusive access.

◆ shared_from_this()

boost::shared_ptr< Lock > Lucene::Lock::shared_from_this ( )
inline

Field Documentation

◆ LOCK_OBTAIN_WAIT_FOREVER

const int32_t Lucene::Lock::LOCK_OBTAIN_WAIT_FOREVER
static

How long obtain(int64_t) waits, in milliseconds, in between attempts to acquire the lock.

◆ LOCK_POLL_INTERVAL

const int32_t Lucene::Lock::LOCK_POLL_INTERVAL
static

Pass this value to obtain(int64_t) to try forever to obtain the lock.


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

clucene.sourceforge.net