/// <summary> /// Creates a new instance API producer factory. /// </summary> /// <param name="producerFactory"> /// The native producer factory. /// </param> /// <param name="headerValueCodec"> /// The header value codec. /// </param> /// <param name="loggerFactory"> /// Logger factory. /// </param> /// <exception cref="ArgumentNullException"> /// One of arguments is not specified. /// </exception> public DefaultApiProducerFactory( [NotNull] IProducerFactory producerFactory, [NotNull] IHeaderValueCodec headerValueCodec, [NotNull] ILoggerFactory loggerFactory) { _producerFactory = producerFactory ?? throw new ArgumentNullException(nameof(producerFactory)); _headerValueCodec = headerValueCodec ?? throw new ArgumentNullException(nameof(headerValueCodec)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); }
/// <summary> /// Constructs a new instance of API producer. /// </summary> /// <param name="producer"> /// The Kafka producer used to publish messages. /// </param> /// <param name="headerValueCodec"> /// The codec for convert header values from string into byte array. /// </param> /// <param name="logger"> /// The logger. /// </param> public DefaultApiProducer( [NotNull] IProducer <TKey, TValue> producer, [NotNull] IHeaderValueCodec headerValueCodec, [NotNull] ILogger <DefaultApiProducer <TKey, TValue> > logger) { _producer = producer ?? throw new ArgumentNullException(nameof(producer)); _headerValueCodec = headerValueCodec ?? throw new ArgumentNullException(nameof(headerValueCodec)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }