1 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 ; 11 import java.nio.channels.SocketChannel ; 12 13 18 final class TCListenerJDK14 extends AbstractTCListener { 19 private final ServerSocketChannel ssc; 20 private final TCCommJDK14 comm; 21 private final TCConnectionEventListener listener; 22 private final AbstractTCConnectionManager parent; 23 24 TCListenerJDK14(ServerSocketChannel 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 callback) { 34 comm.stopListener(ssc, callback); 35 } 36 37 TCConnectionJDK14 createConnection(SocketChannel 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 |