KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tc > net > core > TCListenerJDK14


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tc.net.core;
5
6 import com.tc.net.core.event.TCConnectionEventListener;
7 import com.tc.net.protocol.ProtocolAdaptorFactory;
8 import com.tc.net.protocol.TCProtocolAdaptor;
9
10 import java.nio.channels.ServerSocketChannel JavaDoc;
11 import java.nio.channels.SocketChannel JavaDoc;
12
13 /**
14  * TCListener implementation
15  *
16  * @author teck
17  */

18 final class TCListenerJDK14 extends AbstractTCListener {
19   private final ServerSocketChannel JavaDoc ssc;
20   private final TCCommJDK14 comm;
21   private final TCConnectionEventListener listener;
22   private final AbstractTCConnectionManager parent;
23
24   TCListenerJDK14(ServerSocketChannel JavaDoc ssc, ProtocolAdaptorFactory factory, TCCommJDK14 comm,
25                   TCConnectionEventListener listener, AbstractTCConnectionManager parent) {
26     super(ssc.socket(), factory);
27     this.ssc = ssc;
28     this.comm = comm;
29     this.listener = listener;
30     this.parent = parent;
31   }
32
33   protected void stopImpl(Runnable JavaDoc callback) {
34     comm.stopListener(ssc, callback);
35   }
36
37   TCConnectionJDK14 createConnection(SocketChannel JavaDoc ch) {
38     TCProtocolAdaptor adaptor = getProtocolAdaptorFactory().getInstance();
39     TCConnectionJDK14 rv = new TCConnectionJDK14(listener, comm, adaptor, ch, parent);
40     rv.finishConnect();
41     parent.newConnection(rv);
42     return rv;
43   }
44 }
Popular Tags