示例#1
0
        /// <summary>
        /// Create a rate limited purger
        /// </summary>
        /// <param name="purger">The underlying purger to use</param>
        /// <param name="maxPurgeRate">The maximum rate at which the purger will run. (In this thread.)</param>
        public RateLimitedPurger(IActivityLogPurger purger, int maxPurgeRate = -1)
        {
            _purger = purger;

            MaxPurgeRate = maxPurgeRate > -1 ? maxPurgeRate : DefaultMaxPurgeRateMs;
            LastPurge    = DateTime.MinValue;
        }
示例#2
0
        /// <summary>
        /// Create a new <see cref="ActivityLogWriter"/>.
        /// </summary>
        /// <param name="activityLogPurger">
        /// The <see cref="IActivityLogPurger"/> used to purge excess events.
        /// </param>
        public ActivityLogWriter(IActivityLogPurger activityLogPurger)
        {
            if (activityLogPurger == null)
            {
                throw new ArgumentNullException("activityLogPurger");
            }

            Purger = activityLogPurger;
        }