@@ -0,0 +1,1561 @@
+package com.xqbase.apool.example;%0A%0Aimport com.xqbase.apool.AsyncPool;%0Aimport com.xqbase.apool.impl.AsyncPoolImpl;%0Aimport com.xqbase.apool.impl.SimpleCreateLatch;%0Aimport io.netty.bootstrap.Bootstrap;%0Aimport io.netty.channel.Channel;%0A%0Aimport java.net.SocketAddress;%0A%0A/**%0A * Channel Pool Factory default implementation.%0A *%0A * @author Tony He%0A */%0Apublic class ChannelPoolFactoryImpl implements ChannelPoolFactory %7B%0A%0A    private final int maxSize;%0A    private final int minSize;%0A    private final int maxWaitersSize;%0A    private final long idleTimeout;%0A    private final Bootstrap bootstrap;%0A    private final AsyncPoolImpl.Strategy strategy;%0A%0A    public ChannelPoolFactoryImpl(int maxSize,%0A                int minSize,%0A                int maxWaitersSize,%0A                long idleTimeout,%0A                Bootstrap bootstrap,%0A                AsyncPoolImpl.Strategy strategy) %7B%0A        this.maxSize = maxSize;%0A        this.minSize = minSize;%0A        this.maxWaitersSize = maxWaitersSize;%0A        this.idleTimeout = idleTimeout;%0A        this.bootstrap = bootstrap;%0A        this.strategy = strategy;%0A    %7D%0A%0A    @Override%0A    public AsyncPool%3CChannel%3E getPool(SocketAddress address) %7B%0A        return new AsyncPoolImpl%3C%3E(address.toString() + %22 Connection Pool%22,%0A                maxSize,%0A                minSize,%0A                maxWaitersSize,%0A                idleTimeout,%0A                null,%0A                new ChannelPoolLifeCycle(address, null, bootstrap),%0A                new SimpleCreateLatch(0, 0, null, 0),%0A                AsyncPoolImpl.Strategy.LRU);%0A    %7D%0A%7D%0A

add the ChannelPoolFactoryImpl...