01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.object.net;
06:
07: import com.tc.net.groups.ClientID;
08: import com.tc.net.groups.NodeID;
09: import com.tc.net.protocol.tcm.ChannelID;
10: import com.tc.net.protocol.tcm.MessageChannel;
11: import com.tc.object.msg.BatchTransactionAcknowledgeMessage;
12:
13: import java.util.Collection;
14: import java.util.Set;
15:
16: /**
17: * Wraps the generic ChannelManager adding slightly different channel visibility than DSO requires (we don't want
18: * channels to be visible to other subsystems until they have fully handshaked)
19: */
20: public interface DSOChannelManager {
21:
22: public void closeAll(Collection channelIDs);
23:
24: public MessageChannel getActiveChannel(NodeID id)
25: throws NoSuchChannelException;
26:
27: public MessageChannel[] getActiveChannels();
28:
29: public boolean isActiveID(NodeID nodeID);
30:
31: public String getChannelAddress(NodeID nid);
32:
33: public Set getAllActiveClientIDs();
34:
35: public void addEventListener(DSOChannelManagerEventListener listener);
36:
37: public BatchTransactionAcknowledgeMessage newBatchTransactionAcknowledgeMessage(
38: NodeID nid) throws NoSuchChannelException;
39:
40: public Set getAllClientIDs();
41:
42: public void makeChannelActive(ClientID clientID, long startIDs,
43: long endIDs, boolean persistent);
44:
45: public void makeChannelActiveNoAck(MessageChannel channel);
46:
47: public ClientID getClientIDFor(ChannelID channelID);
48: }
|