Beispiel #1
0
 /// <summary>
 /// This method updates the <see cref="TTLSettingStatus"/> with information
 /// provided by the <see cref="TTLSetting"/>.
 /// </summary>
 /// <param name="ttlSetting">The <see cref="TTLSetting"/> to update the
 /// <see cref="TTLSettingStatus"/> with.</param>
 internal void Update(TTLSetting ttlSetting)
 {
     if (ttlSetting != null)
     {
         _isSpecified      = true;
         Enabled           = ttlSetting.Enabled;
         DefaultTTLSeconds = ttlSetting.DefaultTTLSeconds;
     }
     return;
 }
        /// <summary>
        /// Gets a value used to determine if the TTL system of deleting expired types should be used
        /// for the given <paramref name="typeId"/>.
        /// </summary>
        /// <param name="typeId">The <see cref="RelayMessage.TypeId"/></param>
        /// <returns>Returns true if TTL deleting is enabled for the type; otherwise, returns false.</returns>
        private bool UseTTLByType(short typeId)
        {
            if (typeSettings == null)
            {
                return(false);
            }

            TTLSetting ttlSettings = typeSettings.GetTTLSettingForId(typeId);

            if (ttlSettings != null)
            {
                return(ttlSettings.Enabled);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// Gets the default the default TTL for the given <paramref name="typeId"/>.
        /// </summary>
        /// <param name="typeId">The type id.</param>
        /// <returns>Returns the TTL.</returns>
        private int GetDefaultTTL(short typeId)
        {
            if (typeSettings == null)
            {
                return(-1);
            }

            TTLSetting ttlSettings = typeSettings.GetTTLSettingForId(typeId);

            if (ttlSettings == null || !ttlSettings.Enabled)
            {
                return(-1);
            }
            else
            {
                return(ttlSettings.DefaultTTLSeconds);
            }
        }