01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.l2.objectserver;
06:
07: import com.tc.async.api.Sink;
08: import com.tc.l2.context.ManagedObjectSyncContext;
09: import com.tc.net.groups.NodeID;
10:
11: import java.util.Collection;
12: import java.util.Set;
13:
14: public interface L2ObjectStateManager {
15:
16: /**
17: * @return the number of L2s present in the cluster for which the object state is tracked. Note that the object state
18: * is not tracked for the local node.
19: */
20: public int getL2Count();
21:
22: public void removeL2(NodeID nodeID);
23:
24: public boolean addL2(NodeID nodeID, Set oids);
25:
26: public ManagedObjectSyncContext getSomeObjectsToSyncContext(
27: NodeID nodeID, int count, Sink sink);
28:
29: public void close(ManagedObjectSyncContext mosc);
30:
31: public Collection getL2ObjectStates();
32:
33: public void registerForL2ObjectStateChangeEvents(
34: L2ObjectStateListener listener);
35:
36: }
|