package org.webpieces.nio.test.tcp; import java.util.HashMap; import java.util.Map; import org.webpieces.util.logging.Logger; import org.webpieces.nio.api.deprecated.ChannelManagerOld; import org.webpieces.nio.api.deprecated.ChannelService; import org.webpieces.nio.api.deprecated.ChannelServiceFactory; import org.webpieces.nio.api.deprecated.Settings; import org.webpieces.nio.api.libs.FactoryCreator; import org.webpieces.nio.api.libs.PacketProcessorFactory; import org.webpieces.nio.api.libs.StartableExecutorService; public class TestZFailureThreadedCM extends ZNioFailureSuperclass { private ChannelServiceFactory factory; private StartableExecutorService execFactory; private PacketProcessorFactory procFactory; private Settings factoryHolder; public TestZFailureThreadedCM(String name) { super(name); Map<String, Object> map = new HashMap<String, Object>(); map.put(FactoryCreator.KEY_NUM_THREADS, 10); FactoryCreator creator = FactoryCreator.createFactory(null); execFactory = creator.createExecSvcFactory(map); ChannelServiceFactory basic = ChannelServiceFactory.createFactory(null); Map<String, Object> props = new HashMap<String, Object>(); props.put(ChannelServiceFactory.KEY_IMPLEMENTATION_CLASS, ChannelServiceFactory.VAL_PACKET_CHANNEL_MGR); props.put(ChannelServiceFactory.KEY_CHILD_CHANNELMGR_FACTORY, basic); ChannelServiceFactory packetFactory = ChannelServiceFactory.createFactory(props); Map<String, Object> props2 = new HashMap<String, Object>(); props2.put(ChannelServiceFactory.KEY_IMPLEMENTATION_CLASS, ChannelServiceFactory.VAL_THREAD_CHANNEL_MGR); props2.put(ChannelServiceFactory.KEY_CHILD_CHANNELMGR_FACTORY, packetFactory); factory = ChannelServiceFactory.createFactory(props2); procFactory = creator.createPacketProcFactory(null); factoryHolder = new Settings(null, procFactory); } private static final Logger log = LoggerFactory.getLogger(TestZFailureThreadedCM.class); @Override protected void setUpImpl() throws Exception { super.setUpImpl(); log.info("need some more logging to see what is going on with autobuild."); Thread.sleep(1000); } @Override protected ChannelService getClientChanMgr() { Map<String, Object> p = new HashMap<String, Object>(); p.put(ChannelManagerOld.KEY_ID, "[client]"); p.put(ChannelManagerOld.KEY_BUFFER_FACTORY, getBufFactory()); p.put(ChannelManagerOld.KEY_EXECUTORSVC_FACTORY, execFactory); return factory.createChannelManager(p); } @Override protected ChannelService getServerChanMgr() { Map<String, Object> p = new HashMap<String, Object>(); p.put(ChannelManagerOld.KEY_ID, "[server]"); p.put(ChannelManagerOld.KEY_BUFFER_FACTORY, getBufFactory()); p.put(ChannelManagerOld.KEY_EXECUTORSVC_FACTORY, execFactory); return factory.createChannelManager(p); } @Override protected Settings getClientFactoryHolder() { return factoryHolder; } @Override protected Settings getServerFactoryHolder() { return factoryHolder; } @Override protected String getChannelImplName() { return "org.webpieces.nio.impl.cm.threaded.ThdTCPChannel"; } @Override protected String getServerChannelImplName() { return "org.webpieces.nio.impl.cm.threaded.ThdTCPServerChannel"; } public void specialCaseThreadedCM() throws InterruptedException { Thread.sleep(3000); } @Override public void testClientThrowsIntoDataHandlerIncomingData() throws Exception { super.testClientThrowsIntoDataHandlerIncomingData(); } }