Java 类org.jboss.netty.channel.socket.oio.OioClientSocketChannelFactory 实例源码

项目:perfload-core    文件:DefaultClient.java   
/**
 * Creates a new instance that talks to a {@link DefaultServer} on the specified host and port.
 * 
 * @param clientId
 *            A unique id. No two clients with the same id can access the same
 *            {@link DefaultServer}
 * @param host
 *            The host the {@link DefaultServer} runs on
 * @param port
 *            The port the {@link DefaultServer} runs on
 */
public DefaultClient(final String clientId, final String host, final int port) {
    this.clientId = clientId;
    this.host = host;
    this.port = port;

    // Configure the client.
    bootstrap = new ClientBootstrap(
            new OioClientSocketChannelFactory(Executors.newCachedThreadPool(new DaemonThreadFactory())));

    // Set up the pipeline factory.
    bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
        @Override
        public ChannelPipeline getPipeline() throws Exception {
            return Channels.pipeline(
                    new ObjectEncoder(ENCODER_ESTIMATED_LENGTH),
                    new ObjectDecoder(DECODER_ESTIMATED_LENGTH, ClassResolvers.weakCachingResolver(null)),
                    new ClientHandshakeHandler(new Handshake(clientId), HANDSHAKE_TIMEOUT_MILLIS),
                    clientHandler);
        }
    });

    bootstrap.setOption("tcpNoDelay", true);
    bootstrap.setOption("keepAlive", true);
    bootstrap.setOption("soTimeout", 10000L);
}
项目:CacheStore    文件:TCPClient.java   
private static ClientSocketChannelFactory getClientSocketChannelFactory(boolean nio) {
    if ( nio)
        return new NioClientSocketChannelFactory(
                Executors.newCachedThreadPool(),
                Executors.newCachedThreadPool());
    else
        return new OioClientSocketChannelFactory(
                Executors.newCachedThreadPool());
}