checkNotNull(config, "config is null");
String prefix = "netty-client-" + name + "-io-";
String nameFormat = prefix + "timer-%s";
this.hashedWheelTimer = new HashedWheelTimer(daemonThreadsNamed(nameFormat));
// Give netty infinite thread "sources" for worker and boss.
// Netty will name the threads and will size the pool appropriately
this.bossExecutor = newCachedThreadPool(daemonThreadsNamed(prefix + "boss-%s"));
this.workerExecutor = newCachedThreadPool(daemonThreadsNamed(prefix + "worker-%s"));