コード例 #1
0
 private ReconstructableImmutableStore(TData data, ReconstructableImmutableStore <TData> rest)
 {
     this.Data  = data;
     this.Last  = this;
     this.rest  = rest;
     this.Count = rest.Count + 1;
 }
コード例 #2
0
        private Tuple <ReconstructableImmutableStore <DateTimeOffset>, bool> Refresh(ReconstructableImmutableStore <DateTimeOffset> previous)
        {
            var rebuilt = previous.RebuildUntil(time => time >= DateTimeOffset.UtcNow);

            return(rebuilt.Count >= this.maxOperationCount
                ? Tuple.Create(rebuilt, true)
                : Tuple.Create(rebuilt.Put(DateTimeOffset.UtcNow.Add(this.interval)), false));
        }
コード例 #3
0
 private ReconstructableImmutableStore(TData data, ReconstructableImmutableStore <TData> last, ReconstructableImmutableStore <TData> rest)
     : this(data, rest)
 {
     this.Last = last;
 }
コード例 #4
0
 public SlidingWindowStrategy(int maxOperationCount, TimeSpan interval)
 {
     this.maxOperationCount = maxOperationCount;
     this.interval          = interval;
     this.timeHistory       = ReconstructableImmutableStore <DateTimeOffset> .Empty;
 }