public static Promise<RedisClientBase> connect(String host, int port) {
final Queue<Promise<Reply>> queue = new LinkedList<>();
SocketChannel socketChannel = new NioSocketChannel();
final RedisClientBase client = new RedisClientBase(socketChannel, queue);
socketChannel.pipeline().addLast(new RedisCommandEncoder(), new RedisReplyDecoder(),
new SimpleChannelInboundHandler<Reply<?>>() {
@Override
protected void channelRead0(ChannelHandlerContext channelHandlerContext, Reply<?> reply) throws Exception {
Promise<Reply> poll;
synchronized (client) {