Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AsyncProducer"/> class.
        /// </summary>
        /// <param name="config">
        /// The producer config.
        /// </param>
        /// <param name="callbackHandler">
        /// The callback invoked when a request is finished being sent.
        /// </param>
        public AsyncProducer(
            AsyncProducerConfiguration config,
            ICallbackHandler callbackHandler)
        {
            Guard.NotNull(config, "config");

            this.Config          = config;
            this.callbackHandler = callbackHandler;
            this.connection      = new KafkaConnection(
                this.Config.Host,
                this.Config.Port,
                this.Config.BufferSize,
                this.Config.SocketTimeout);
        }
Esempio n. 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AsyncProducer"/> class.
        /// </summary>
        /// <param name="config">
        /// The producer config.
        /// </param>
        /// <param name="callbackHandler">
        /// The callback invoked when a request is finished being sent.
        /// </param>
        public AsyncProducer(
            AsyncProducerConfiguration config,
            ICallbackHandler callbackHandler)
        {
            Guard.NotNull(config, "config");

            this.Config = config;
            this.callbackHandler = callbackHandler;
            this.connection = new KafkaConnection(
                this.Config.Host,
                this.Config.Port,
                this.Config.BufferSize,
                this.Config.SocketTimeout);
        }
Esempio n. 3
0
        /// <summary>
        /// Add a new asynchronous producer to the pool.
        /// </summary>
        /// <param name="broker">The broker informations.</param>
        public override void AddProducer(Broker broker)
        {
            this.EnsuresNotDisposed();
            Guard.NotNull(broker, "broker");
            var asyncConfig = new AsyncProducerConfiguration(this.Config, broker.Id, broker.Host, broker.Port)
            {
                SerializerClass = this.Config.SerializerClass
            };
            var asyncProducer = new AsyncProducer(asyncConfig, this.CallbackHandler);

            Logger.InfoFormat(
                CultureInfo.CurrentCulture,
                "Creating async producer for broker id = {0} at {1}:{2}",
                broker.Id,
                broker.Host,
                broker.Port);
            this.asyncProducers.Add(broker.Id, asyncProducer);
        }
Esempio n. 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AsyncProducer"/> class.
        /// </summary>
        /// <param name="config">
        /// The producer config.
        /// </param>
        /// <param name="callbackHandler">
        /// The callback invoked when a request is finished being sent.
        /// </param>
        public AsyncProducer(
            AsyncProducerConfiguration config,
            ICallbackHandler callbackHandler)
        {
            Guard.NotNull(config, "config");

            this.Config          = config;
            this.callbackHandler = callbackHandler;
            this.connection      = new KafkaConnection(
                this.Config.Host,
                this.Config.Port,
                this.Config.BufferSize,
                this.Config.SocketTimeout,
                this.Config.IdleTimeToKeepAlive,
                this.Config.KeepAliveInterval,
                this.Config.SocketPollingTimeout,
                this.Config.SocketPollingLevel);
        }
Esempio n. 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AsyncProducer"/> class.
 /// </summary>
 /// <param name="config">
 /// The producer config.
 /// </param>
 public AsyncProducer(AsyncProducerConfiguration config)
     : this(
         config,
         ReflectionHelper.Instantiate <ICallbackHandler>(config.CallbackHandlerClass))
 {
 }
Esempio n. 6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AsyncProducer"/> class.
 /// </summary>
 /// <param name="config">
 /// The producer config.
 /// </param>
 public AsyncProducer(AsyncProducerConfiguration config)
     : this(config,
         ReflectionHelper.Instantiate<ICallbackHandler>(config.CallbackHandlerClass))
 {
 }