Files
KianaBH3/KcpSharp/Base/KcpReceiveWindowNotificationOptions.cs
2025-06-14 11:15:32 +08:00

30 lines
1.3 KiB
C#

namespace KianaBH.KcpSharp.Base;
/// <summary>
/// Options for sending receive window size notification.
/// </summary>
public sealed class KcpReceiveWindowNotificationOptions
{
/// <summary>
/// Create an instance of option object for receive window size notification functionality.
/// </summary>
/// <param name="initialInterval">The initial interval in milliseconds of sending window size notification.</param>
/// <param name="maximumInterval">The maximum interval in milliseconds of sending window size notification.</param>
public KcpReceiveWindowNotificationOptions(int initialInterval, int maximumInterval)
{
if (initialInterval <= 0) throw new ArgumentOutOfRangeException(nameof(initialInterval));
if (maximumInterval < initialInterval) throw new ArgumentOutOfRangeException(nameof(maximumInterval));
InitialInterval = initialInterval;
MaximumInterval = maximumInterval;
}
/// <summary>
/// The initial interval in milliseconds of sending window size notification.
/// </summary>
public int InitialInterval { get; }
/// <summary>
/// The maximum interval in milliseconds of sending window size notification.
/// </summary>
public int MaximumInterval { get; }
}