using System;
using VNLib.Utils.Logging;
namespace VNLib.Net.Sessions
{
///
/// Represents configration variables used to create and operate http sessions.
///
public readonly struct MemorySessionConfig
{
///
/// The name of the cookie to use for matching sessions
///
public string SessionCookieID { get; init; }
///
/// The size (in bytes) of the genreated SessionIds
///
public uint SessionIdSizeBytes { get; init; }
///
/// The amount of time a session is valid (within the backing store)
///
public TimeSpan SessionTimeout { get; init; }
///
/// The log for which all errors within the instance will be written to.
///
public ILogProvider SessionLog { get; init; }
///
/// The maximum number of sessions allowed to be cached in memory. If this value is exceed requests to this
/// server will be denied with a 503 error code
///
public int MaxAllowedSessions { get; init; }
}
}