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.net;
05:
06: import com.tc.async.api.Sink;
07: import com.tc.net.MaxConnectionsExceededException;
08: import com.tc.net.protocol.tcm.ChannelEventListener;
09: import com.tc.net.protocol.tcm.ChannelIDProvider;
10: import com.tc.net.protocol.tcm.ClientMessageChannel;
11: import com.tc.net.protocol.tcm.TCMessageType;
12: import com.tc.object.msg.AcknowledgeTransactionMessageFactory;
13: import com.tc.object.msg.ClientHandshakeMessageFactory;
14: import com.tc.object.msg.CommitTransactionMessageFactory;
15: import com.tc.object.msg.CompletedTransactionLowWaterMarkMessageFactory;
16: import com.tc.object.msg.JMXMessage;
17: import com.tc.object.msg.LockRequestMessageFactory;
18: import com.tc.object.msg.ObjectIDBatchRequestMessageFactory;
19: import com.tc.object.msg.RequestManagedObjectMessageFactory;
20: import com.tc.object.msg.RequestRootMessageFactory;
21: import com.tc.util.TCTimeoutException;
22:
23: import java.io.IOException;
24: import java.net.UnknownHostException;
25:
26: public interface DSOClientMessageChannel {
27:
28: public void addClassMapping(TCMessageType messageType,
29: Class messageClass);
30:
31: public ChannelIDProvider getChannelIDProvider();
32:
33: public void addListener(ChannelEventListener listener);
34:
35: public void routeMessageType(TCMessageType messageType,
36: Sink destSink, Sink hydrateSink);
37:
38: public void open() throws MaxConnectionsExceededException,
39: TCTimeoutException, UnknownHostException, IOException;
40:
41: public boolean isConnected();
42:
43: public void close();
44:
45: public ClientMessageChannel channel();
46:
47: public LockRequestMessageFactory getLockRequestMessageFactory();
48:
49: public CompletedTransactionLowWaterMarkMessageFactory getCompletedTransactionLowWaterMarkMessageFactory();
50:
51: public RequestRootMessageFactory getRequestRootMessageFactory();
52:
53: public RequestManagedObjectMessageFactory getRequestManagedObjectMessageFactory();
54:
55: public ObjectIDBatchRequestMessageFactory getObjectIDBatchRequestMessageFactory();
56:
57: public CommitTransactionMessageFactory getCommitTransactionMessageFactory();
58:
59: public ClientHandshakeMessageFactory getClientHandshakeMessageFactory();
60:
61: public AcknowledgeTransactionMessageFactory getAcknowledgeTransactionMessageFactory();
62:
63: public JMXMessage getJMXMessage();
64:
65: }
|