namespace JiShe.CollectBus.IoTDB.Options
{
    /// <summary>
    /// IOTDB配置
    /// </summary>
    public class IoTDbOptions
    {
        /// <summary>
        /// 数据库名称，表模型才有，树模型为空
        /// </summary>
        public string DataBaseName { get; set; }

        /// <summary>
        /// 集群列表
        /// </summary>
        public List<string> ClusterList { get; set; }
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName { get; set; }
        /// <summary>
        /// 密码
        /// </summary>
        public string Password { get; set; } 

        /// <summary>
        /// 连接池大小
        /// </summary>
        public int PoolSize { get; set; } = 8;

        /// <summary>
        /// 查询时，每次查询的数据量，默认1024
        /// </summary>
        public int FetchSize { get; set; } = 1024;

        /// <summary>
        /// 是否开启调试模式，生产环境请关闭，因为底层的实现方式，可能会导致内存持续增长。
        /// </summary>
        public bool OpenDebugMode { get; set;}

        /// <summary>
        /// 是否使用表模型存储, 默认false，使用tree模型存储
        /// </summary>
        public bool UseTableSessionPoolByDefault { get; set; } = false;

        /// <summary>
        /// 时区，默认为："UTC+08:00"
        /// </summary>
        public string ZoneId { get; set; } = "UTC+08:00";

        /// <summary>
        /// 请求超时时间，单位毫秒，默认为：50000
        /// </summary>
        public long Timeout { get; set; } = 50000;
    }
}
