blob: eacf40792decdfa539ee64b5079be08431b2b73e [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
namespace Kafka.Client.Cfg
{
/// <summary>
/// Configuration used by the consumer
/// </summary>
public class ConsumerConfig : ZKConfig
{
public const short DefaultNumberOfTries = 2;
public short NumberOfTries { get; set; }
public string Host { get; set; }
public int Port { get; set; }
public string GroupId { get; set; }
public int Timeout { get; set; }
public string AutoOffsetReset { get; set; }
public bool AutoCommit { get; set; }
public int AutoCommitIntervalMs { get; set; }
public int FetchSize { get; set; }
public int BackOffIncrementMs { get; set; }
public ConsumerConfig()
{
this.NumberOfTries = DefaultNumberOfTries;
}
public ConsumerConfig(KafkaClientConfiguration kafkaClientConfiguration) : this()
{
this.Host = kafkaClientConfiguration.KafkaServer.Address;
this.Port = kafkaClientConfiguration.KafkaServer.Port;
this.NumberOfTries = kafkaClientConfiguration.Consumer.NumberOfTries;
this.GroupId = kafkaClientConfiguration.Consumer.GroupId;
this.Timeout = kafkaClientConfiguration.Consumer.Timeout;
this.AutoOffsetReset = kafkaClientConfiguration.Consumer.AutoOffsetReset;
this.AutoCommit = kafkaClientConfiguration.Consumer.AutoCommit;
this.AutoCommitIntervalMs = kafkaClientConfiguration.Consumer.AutoCommitIntervalMs;
this.FetchSize = kafkaClientConfiguration.Consumer.FetchSize;
this.BackOffIncrementMs = kafkaClientConfiguration.Consumer.BackOffIncrementMs;
if (kafkaClientConfiguration.IsZooKeeperEnabled)
{
this.ZkConnect = kafkaClientConfiguration.ZooKeeperServers.AddressList;
this.ZkSessionTimeoutMs = kafkaClientConfiguration.ZooKeeperServers.SessionTimeout;
this.ZkConnectionTimeoutMs = kafkaClientConfiguration.ZooKeeperServers.ConnectionTimeout;
}
}
}
}