public static void ConfigureRabbitMq(this IRabbitMQStreamConfigurator configurator, string host, int port, string virtualHost, string user, string password, string queueName, bool useQueuePartitioning = RabbitMqOptions.DefaultUseQueuePartitioning, int numberOfQueues = RabbitMqOptions.DefaultNumberOfQueues)
 {
     configurator.Configure <RabbitMqOptions>(ob => ob.Configure(options =>
     {
         options.HostName             = host;
         options.Port                 = port;
         options.VirtualHost          = virtualHost;
         options.UserName             = user;
         options.Password             = password;
         options.QueueNamePrefix      = queueName;
         options.UseQueuePartitioning = useQueuePartitioning;
         options.NumberOfQueues       = numberOfQueues;
     }));
 }
 public static void ConfigureCache(this IRabbitMQStreamConfigurator configurator, int cacheSize, TimeSpan cacheFillingTimeout) =>
 configurator.Configure <CachingOptions>(ob => ob.Configure(options =>
 {
     options.CacheSize           = cacheSize;
     options.CacheFillingTimeout = cacheFillingTimeout;
 }));
 public static void ConfigureCache(this IRabbitMQStreamConfigurator configurator, int cacheSize) =>
 configurator.Configure <CachingOptions>(ob => ob.Configure(options => options.CacheSize = cacheSize));
 public static void ConfigureRabbitMQ(this IRabbitMQStreamConfigurator configurator, Action <OptionsBuilder <RabbitMqOptions> > configureOptions)
 {
     configurator.Configure(configureOptions);
 }