interface LockInterface

LockInterface defines an interface to manipulate the status of a lock.

Methods

bool
acquire(bool $blocking = false)

Acquires the lock. If the lock is acquired by someone else, the parameter blocking determines whether or not the call should block until the release of the lock.

refresh()

Increase the duration of an acquired lock.

bool
isAcquired()

Returns whether or not the lock is acquired.

release()

Release the lock.

bool
isExpired()

No description

float|null
getRemainingLifetime()

Returns the remaining lifetime.

Details

bool acquire(bool $blocking = false)

Acquires the lock. If the lock is acquired by someone else, the parameter blocking determines whether or not the call should block until the release of the lock.

Parameters

bool $blocking Whether or not the Lock should wait for the release of someone else

Return Value

bool whether or not the lock had been acquired

Exceptions

LockConflictedException If the lock is acquired by someone else in blocking mode
LockAcquiringException If the lock can not be acquired

refresh()

Increase the duration of an acquired lock.

Exceptions

LockConflictedException If the lock is acquired by someone else
LockAcquiringException If the lock can not be refreshed

bool isAcquired()

Returns whether or not the lock is acquired.

Return Value

bool

release()

Release the lock.

Exceptions

LockReleasingException If the lock can not be released

bool isExpired()

Return Value

bool

float|null getRemainingLifetime()

Returns the remaining lifetime.

Return Value

float|null Remaining lifetime in seconds. Null when the lock won't expire.