public Protocol(
      ChannelManager channelManager,
      AsyncHttpClientConfig config,
      NettyAsyncHttpProviderConfig nettyConfig,
      NettyRequestSender requestSender) {
    this.channelManager = channelManager;
    this.config = config;
    this.requestSender = requestSender;
    this.nettyConfig = nettyConfig;

    hasResponseFilters = !config.getResponseFilters().isEmpty();
    hasIOExceptionFilters = !config.getIOExceptionFilters().isEmpty();
    timeConverter = config.getTimeConverter();
  }