namespace FurinaImpact.Kcp
{
///
/// Options for customized keep-alive functionality.
///
public sealed class KcpKeepAliveOptions
{
///
/// Create an instance of option object for customized keep-alive functionality.
///
/// The minimum interval in milliseconds between sending keep-alive messages.
/// When no packets are received during this period (in milliseconds), the transport is considered to be closed.
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; }
}
}