01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.object.lockmanager.api;
05:
06: import com.tc.object.tx.WaitInvocation;
07:
08: import java.util.Collection;
09:
10: /**
11: * Representation of the remote lock manager
12: *
13: * @author steve
14: */
15: public interface RemoteLockManager {
16: public void flush(LockID lockID);
17:
18: public void queryLock(LockID lockID, ThreadID threadID);
19:
20: public void interrruptWait(LockID lockID, ThreadID threadID);
21:
22: public void requestLock(LockID lockID, ThreadID threadID,
23: int lockType);
24:
25: public void tryRequestLock(LockID lockID, ThreadID threadID,
26: WaitInvocation timeout, int lockType);
27:
28: public void releaseLock(LockID lockID, ThreadID threadID);
29:
30: public void releaseLockWait(LockID lockID, ThreadID threadID,
31: WaitInvocation call);
32:
33: public void recallCommit(LockID lockID, Collection lockContext,
34: Collection waitContext, Collection pendingRequests,
35: Collection pendingTryLockRequests);
36:
37: public boolean isTransactionsForLockFlushed(LockID lockID,
38: LockFlushCallback callback);
39: }
|