01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.management;
05:
06: import com.tc.async.api.Sink;
07: import com.tc.object.lockmanager.api.LockID;
08: import com.tc.object.net.DSOClientMessageChannel;
09:
10: public interface ClientLockStatManager {
11: public final static ClientLockStatManager NULL_CLIENT_LOCK_STAT_MANAGER = new ClientLockStatManager() {
12:
13: public void recordStackTrace(LockID lockID) {
14: // do nothing
15: }
16:
17: public void enableStackTrace(LockID lockID,
18: int lockStackTraceDepth, int lockStatCollectFrequency) {
19: // do nothing
20: }
21:
22: public boolean isStatEnabled(LockID lockID) {
23: return false;
24: }
25:
26: public void disableStackTrace(LockID lockID) {
27: // do nothing
28: }
29:
30: public void start(DSOClientMessageChannel channel, Sink sink) {
31: // do nothing
32: }
33: };
34:
35: public void start(DSOClientMessageChannel channel, Sink sink);
36:
37: public void recordStackTrace(LockID lockID);
38:
39: public void enableStackTrace(LockID lockID,
40: int lockStackTraceDepth, int lockStatCollectFrequency);
41:
42: public void disableStackTrace(LockID lockID);
43:
44: public boolean isStatEnabled(LockID lockID);
45: }
|