WutheringWaves/KcpSharp/KcpKeepAliveOptions.cs

33 lines
1.1 KiB
C#
Raw Permalink Normal View History

2024-02-07 21:41:39 +00:00
using System;
namespace KcpSharp
{
/// <summary>
/// Options for customized keep-alive functionality.
/// </summary>
public sealed class KcpKeepAliveOptions
{
/// <summary>
/// Create an instance of option object for customized keep-alive functionality.
/// </summary>
/// <param name="sendInterval">The minimum interval in milliseconds between sending keep-alive messages.</param>
/// <param name="gracePeriod">When no packets are received during this period (in milliseconds), the transport is considered to be closed.</param>
public KcpKeepAliveOptions(int sendInterval, int gracePeriod)
{
if (sendInterval <= 0)
{
throw new ArgumentOutOfRangeException(nameof(sendInterval));
}
if (gracePeriod <= 0)
{
throw new ArgumentOutOfRangeException(nameof(gracePeriod));
}
SendInterval = sendInterval;
GracePeriod = gracePeriod;
}
internal int SendInterval { get; }
internal int GracePeriod { get; }
}
}