Skip to content

Commit 7c55eba

Browse files
author
Alex Peck
committed
ckd
1 parent 4c89a35 commit 7c55eba

File tree

7 files changed

+17
-6
lines changed

7 files changed

+17
-6
lines changed

BitFaster.Caching/Lru/AfterAccessPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public LongTickCountLruItem<K, V> CreateItem(K key, V value)
4040
public void Touch(LongTickCountLruItem<K, V> item)
4141
{
4242
item.TickCount = this.time.Last;
43-
item.WasAccessed = true;
43+
item.MarkAccessed();
4444
}
4545

4646
///<inheritdoc/>

BitFaster.Caching/Lru/DiscretePolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void Touch(LongTickCountLruItem<K, V> item)
3535
var currentExpiry = new Duration(item.TickCount - this.time.Last);
3636
var newExpiry = expiry.GetExpireAfterRead(item.Key, item.Value, currentExpiry);
3737
item.TickCount = this.time.Last + newExpiry.raw;
38-
item.WasAccessed = true;
38+
item.MarkAccessed();
3939
}
4040

4141
///<inheritdoc/>

BitFaster.Caching/Lru/LruItem.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,17 @@ public bool WasRemoved
8585
set => this.wasRemoved = value;
8686
}
8787

88+
/// <summary>
89+
/// Marks the item as accessed, if it was not already accessed.
90+
/// </summary>
91+
public void MarkAccessed()
92+
{
93+
if (!this.wasAccessed)
94+
{
95+
this.wasAccessed = true;
96+
}
97+
}
98+
8899
internal V SeqLockRead()
89100
{
90101
var spin = new SpinWait();

BitFaster.Caching/Lru/LruPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public LruItem<K, V> CreateItem(K key, V value)
2323
[MethodImpl(MethodImplOptions.AggressiveInlining)]
2424
public void Touch(LruItem<K, V> item)
2525
{
26-
item.WasAccessed = true;
26+
item.MarkAccessed();
2727
}
2828

2929
///<inheritdoc/>

BitFaster.Caching/Lru/TLruLongTicksPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public LongTickCountLruItem<K, V> CreateItem(K key, V value)
3838
[MethodImpl(MethodImplOptions.AggressiveInlining)]
3939
public void Touch(LongTickCountLruItem<K, V> item)
4040
{
41-
item.WasAccessed = true;
41+
item.MarkAccessed();
4242
}
4343

4444
///<inheritdoc/>

BitFaster.Caching/Lru/TlruDateTimePolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public TimeStampedLruItem<K, V> CreateItem(K key, V value)
3535
[MethodImpl(MethodImplOptions.AggressiveInlining)]
3636
public void Touch(TimeStampedLruItem<K, V> item)
3737
{
38-
item.WasAccessed = true;
38+
item.MarkAccessed();
3939
}
4040

4141
///<inheritdoc/>

BitFaster.Caching/Lru/TlruTicksPolicy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public TickCountLruItem<K, V> CreateItem(K key, V value)
4040
[MethodImpl(MethodImplOptions.AggressiveInlining)]
4141
public void Touch(TickCountLruItem<K, V> item)
4242
{
43-
item.WasAccessed = true;
43+
item.MarkAccessed();
4444
}
4545

4646
///<inheritdoc/>

0 commit comments

Comments
 (0)