private void ErrorHandler(Kafka.IProducer<TKey, TValue> producer, Error error) { if (producer.Equals(_producer)) { _events.OnNext(new Event.Errored(error)); } }
private void StatisticsHandler(Kafka.IProducer<TKey, TValue> producer, string statistics) { if (producer.Equals(_producer)) { _events.OnNext(new Event.StatisticsReceived(statistics)); } }
private void LogHandler(Kafka.IProducer<TKey, TValue> producer, LogMessage message) { if (producer.Equals(_producer)) { _events.OnNext(new Event.Log(message)); } }
public Adapter(ProducerConfig config, Func<ProducerBuilder<TKey, TValue>, ProducerBuilder<TKey, TValue>> modifier = null) { _producer = (modifier ?? NullModifier).Invoke(new ProducerBuilder<TKey, TValue>(config)) .SetErrorHandler(ErrorHandler) .SetLogHandler(LogHandler) .SetStatisticsHandler(StatisticsHandler) .Build(); _events = new Subject<IEvent>(); }