Repository: microsoft/garnet
File: libs/host/Configuration/Options.cs (C#)

Code before:

        [Option("logger-level", Required = false, HelpText = "Logging level. Value options: Trace, Debug, Information, Warning, Error, Critical, None")]
        public LogLevel LogLevel { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("logger-freq", Required = false, Default = 5, HelpText = "Frequency (in seconds) of logging (used for tracking progress of long running operations e.g. migration)")]
        public int LoggingFrequency { get; set; }

        [OptionValidation]
        [Option("disable-console-logger", Required = false, HelpText = "Disable console logger.")]
        public bool? DisableConsoleLogger { get; set; }

        [FilePathValidation(false, false, false)]
        [Option("file-logger", Required = false, HelpText = "Enable file logger and write to the specified path.")]
        public string FileLogger { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("minthreads", Required = false, HelpText = "Minimum worker and completion threads in thread pool, 0 uses the system default.")]
        public int ThreadPoolMinThreads { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("maxthreads", Required = false, HelpText = "Maximum worker and completion threads in thread pool, 0 uses the system default.")]
        public int ThreadPoolMaxThreads { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("connection-limit", Required = false, Default = 0, HelpText = "Maximum number of client connections")]
        public int ConnectionLimit { get; set; }

        [OptionValidation]
        [Option("use-azure-storage", Required = false, HelpText = "Use Azure Page Blobs for storage instead of local storage.")]
        public bool? UseAzureStorage { get; set; }

        [Option("storage-string", Required = false, HelpText = "The connection string to use when establishing connection to Azure Blobs Storage.")]
        public string AzureStorageConnectionString { get; set; }

        [IntRangeValidation(-1, int.MaxValue)]
        [Option("checkpoint-throttle-delay", Required = false, HelpText = "Whether and by how much should we throttle the disk IO for checkpoints: -1 - disable throttling; >= 0 - run checkpoint flush in separate task, sleep for specified time after each WriteAsync")]
        public int CheckpointThrottleFlushDelayMs { get; set; }

        [OptionValidation]
        [Option("fast-commit", Required = false, HelpText = "Use FastCommit when writing AOF.")]
        public bool? EnableFastCommit { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("fast-commit-throttle", Required = false, HelpText = "Throttle FastCommit to write metadata once every K commits.")]
        public int FastCommitThrottleFreq { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("network-send-throttle", Required = false, HelpText = "Throttle the maximum outstanding network sends per session.")]
        public int NetworkSendThrottleMax { get; set; }


Review comment (suggestion):
Rename to `network-connection-limit` and `NetworkConnectionLimit` to clarify this does not apply to API-based session accesses.

Code after:

        [Option("logger-level", Required = false, HelpText = "Logging level. Value options: Trace, Debug, Information, Warning, Error, Critical, None")]
        public LogLevel LogLevel { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("logger-freq", Required = false, Default = 5, HelpText = "Frequency (in seconds) of logging (used for tracking progress of long running operations e.g. migration)")]
        public int LoggingFrequency { get; set; }

        [OptionValidation]
        [Option("disable-console-logger", Required = false, HelpText = "Disable console logger.")]
        public bool? DisableConsoleLogger { get; set; }

        [FilePathValidation(false, false, false)]
        [Option("file-logger", Required = false, HelpText = "Enable file logger and write to the specified path.")]
        public string FileLogger { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("minthreads", Required = false, HelpText = "Minimum worker and completion threads in thread pool, 0 uses the system default.")]
        public int ThreadPoolMinThreads { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("maxthreads", Required = false, HelpText = "Maximum worker and completion threads in thread pool, 0 uses the system default.")]
        public int ThreadPoolMaxThreads { get; set; }

        [IntRangeValidation(-1, int.MaxValue)]
        [Option("network-connection-limit", Required = false, Default = -1, HelpText = "Maximum number of simultaneously active network connections.")]
        public int NetworkConnectionLimit { get; set; }

        [OptionValidation]
        [Option("use-azure-storage", Required = false, HelpText = "Use Azure Page Blobs for storage instead of local storage.")]
        public bool? UseAzureStorage { get; set; }

        [Option("storage-string", Required = false, HelpText = "The connection string to use when establishing connection to Azure Blobs Storage.")]
        public string AzureStorageConnectionString { get; set; }

        [IntRangeValidation(-1, int.MaxValue)]
        [Option("checkpoint-throttle-delay", Required = false, HelpText = "Whether and by how much should we throttle the disk IO for checkpoints: -1 - disable throttling; >= 0 - run checkpoint flush in separate task, sleep for specified time after each WriteAsync")]
        public int CheckpointThrottleFlushDelayMs { get; set; }

        [OptionValidation]
        [Option("fast-commit", Required = false, HelpText = "Use FastCommit when writing AOF.")]
        public bool? EnableFastCommit { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("fast-commit-throttle", Required = false, HelpText = "Throttle FastCommit to write metadata once every K commits.")]
        public int FastCommitThrottleFreq { get; set; }

        [IntRangeValidation(0, int.MaxValue)]
        [Option("network-send-throttle", Required = false, HelpText = "Throttle the maximum outstanding network sends per session.")]
        public int NetworkSendThrottleMax { get; set; }