/// <summary> /// Sets compression configurations in the producer /// </summary> /// <param name="builder">A class that implements <see cref="IProducerConfigurationBuilder"/></param> /// <param name="compressionType"> /// <see cref="P:Confluent.Kafka.CompressionType"/> enum to select the compression codec to use for compressing message sets. This is the default value for all topics, may be overridden by the topic configuration property `compression.codec`. /// default: none /// importance: medium</param> /// <param name="compressionLevel"> /// Compression level parameter for algorithm selected by <see cref="P:Confluent.Kafka.CompressionType"/> enum. Higher values will result in better compression at the cost of more CPU usage. Usable range is algorithm-dependent: [0-9] for gzip; [0-12] for lz4; only 0 for snappy; -1 = codec-dependent default compression level. /// default: -1 /// importance: medium /// </param> /// <returns></returns> public static IProducerConfigurationBuilder WithCompression( this IProducerConfigurationBuilder builder, CompressionType compressionType, int?compressionLevel = null) { return(((ProducerConfigurationBuilder)builder).WithCompression(compressionType, compressionLevel)); }
/// <summary> /// Register a custom producer factory to be internally used by the framework /// </summary> /// <param name="builder"></param> /// <param name="decoratorFactory">The factory method</param> /// <returns></returns> public static IProducerConfigurationBuilder WithCustomFactory( this IProducerConfigurationBuilder builder, ProducerCustomFactory decoratorFactory) { return(((ProducerConfigurationBuilder)builder).WithCustomFactory(decoratorFactory)); }
/// <summary> /// Sets configurations in the producer based on a <see cref="P:Confluent.Kafka.ProducerConfig"/> instance /// </summary> /// <param name="builder">A class that implements <see cref="IProducerConfigurationBuilder"/></param> /// <param name="config"><see cref="P:Confluent.Kafka.ProducerConfig"/> instance</param> /// <returns></returns> public static IProducerConfigurationBuilder WithProducerConfig(this IProducerConfigurationBuilder builder, ProducerConfig config) { return(((ProducerConfigurationBuilder)builder).WithProducerConfig(config)); }