public void start(ChannelManager channelManager) throws IOException {
LOG.info(String.format("Starting with %d incoming and %d outgoing connection threads.", numInThreads, numOutThreads));
LOG.info(String.format("Setting low water mark to %d and high water mark to %d bytes.", lowWaterMark, highWaterMark));
final BufferProviderBroker bufferProviderBroker = channelManager;
final EnvelopeDispatcher envelopeDispatcher = channelManager;
int numHeapArenas = 0;
int numDirectArenas = numInThreads + numOutThreads;
int pageSize = bufferSize << 1;
int chunkSize = 16 * 1 << 20; // 16 MB