public SessionManager(
IServerInternal server,
ApplicationConfiguration configuration)
{
if (server == null) throw new ArgumentNullException("server");
if (configuration == null) throw new ArgumentNullException("configuration");
m_server = server;
m_minSessionTimeout = configuration.ServerConfiguration.MinSessionTimeout;
m_maxSessionTimeout = configuration.ServerConfiguration.MaxSessionTimeout;
m_maxSessionCount = configuration.ServerConfiguration.MaxSessionCount;
m_maxRequestAge = configuration.ServerConfiguration.MaxRequestAge;
m_maxBrowseContinuationPoints = configuration.ServerConfiguration.MaxBrowseContinuationPoints;
m_maxHistoryContinuationPoints = configuration.ServerConfiguration.MaxHistoryContinuationPoints;
m_minNonceLength = configuration.SecurityConfiguration.NonceLength;
m_sessions = new Dictionary<NodeId,Session>();
m_nonceGenerator = new RNGCryptoServiceProvider();
// create a event to signal shutdown.
m_shutdownEvent = new ManualResetEvent(true);
}
#endregion