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.tx;
05:
06: import com.tc.object.lockmanager.api.LockFlushCallback;
07: import com.tc.object.lockmanager.api.LockID;
08: import com.tc.object.session.SessionID;
09:
10: import java.util.Collection;
11:
12: /**
13: * Client representation of the server transaction manager
14: *
15: * @author steve
16: */
17: public interface RemoteTransactionManager {
18:
19: public void pause();
20:
21: public void starting();
22:
23: public void unpause();
24:
25: public void stop();
26:
27: /**
28: * Blocks until all of the transactions within the given lock have been fully acked.
29: */
30: public void flush(LockID lockID);
31:
32: public void commit(ClientTransaction transaction);
33:
34: public void receivedAcknowledgement(SessionID sessionID,
35: TransactionID txID);
36:
37: public void receivedBatchAcknowledgement(TxnBatchID batchID);
38:
39: public void resendOutstanding();
40:
41: public Collection getTransactionSequenceIDs();
42:
43: public Collection getResentTransactionIDs();
44:
45: public void resendOutstandingAndUnpause();
46:
47: public boolean isTransactionsForLockFlushed(LockID lockID,
48: LockFlushCallback callback);
49:
50: public void stopProcessing();
51: }
|