/// <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));
 }
예제 #2
0
 /// <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));
 }