1 4 package com.tc.objectserver.lockmanager.api; 5 6 import com.tc.async.api.Sink; 7 import com.tc.net.protocol.tcm.ChannelID; 8 import com.tc.object.lockmanager.api.LockID; 9 import com.tc.object.lockmanager.api.ThreadID; 10 import com.tc.object.tx.WaitInvocation; 11 12 import java.util.Collection ; 13 14 17 public interface LockManager { 18 19 public void notify(LockID lid, ChannelID cid, ThreadID tid, boolean all, NotifiedWaiters addNotifiedWaitersTo); 20 21 public void wait(LockID lid, ChannelID cid, ThreadID tid, WaitInvocation waitInvocation, Sink lockResponseSink); 22 23 public void reestablishLock(LockID lid, ChannelID cid, ThreadID tid, int level, Sink lockResponseSink); 24 25 public void reestablishWait(LockID lid, ChannelID cid, ThreadID tid, int level, WaitInvocation waitInvocation, 26 Sink lockResponseSink); 27 28 public boolean requestLock(LockID lockID, ChannelID channelID, ThreadID source, int level, Sink awardLockSink); 29 30 public boolean tryRequestLock(LockID lockID, ChannelID channelID, ThreadID threadID, int level, Sink awardLockSink); 31 32 public void unlock(LockID id, ChannelID receiverID, ThreadID threadID); 33 34 public void queryLock(LockID lockID, ChannelID channelID, ThreadID threadID, Sink lockResponseSink); 35 36 public void interrupt(LockID lockID, ChannelID channelID, ThreadID threadID); 37 38 public boolean hasPending(LockID id); 39 40 public void clearAllLocksFor(ChannelID channelID); 41 42 public void scanForDeadlocks(DeadlockResults output); 43 44 public void start(); 45 46 public void stop() throws InterruptedException ; 47 48 public void recallCommit(LockID lid, ChannelID cid, Collection lockContexts, Collection waitContexts, 49 Collection pendingLockContexts, Sink lockResponseSink); 50 51 public void dump(); 52 53 } | Popular Tags |