Class ListStore<T>
A value store that will be incrementally saved on HDD. Thread-safe and process-safe.
public class ListStore<T> : Store<T>, IDisposable where T : new()
Type Parameters
TThe type of elements in the store.
- Inheritance
-
Store<T>ListStore<T>
- Implements
- Inherited Members
- Extension Methods
Constructors
ListStore(Stream)
public ListStore(Stream stream)
Parameters
streamStream
Fields
loadedIdMap
protected readonly List<T> loadedIdMap
Field Value
- List<T>
unsavedIdMap
protected readonly LinkedList<ListStore<T>.UnsavedEntry> unsavedIdMap
Field Value
Methods
AddLoaded(T)
Adds a value that has already been saved in the store (saved state).
protected override void AddLoaded(T item)
Parameters
itemTThe item.
AddUnsaved(T, int)
Adds a value that has not yet been saved in the store (pending state).
protected override void AddUnsaved(T item, int currentTransaction)
Parameters
itemTThe item.
currentTransactionint
GetPendingItems(int)
Gets the list of pending items for a given transaction index.
protected override IEnumerable<T> GetPendingItems(int currentTransaction)
Parameters
currentTransactionint
Returns
- IEnumerable<T>
GetValues()
public T[] GetValues()
Returns
- T[]
RemoveUnsaved(IEnumerable<T>, int)
Removes values that have not yet been saved (pending state).
protected override void RemoveUnsaved(IEnumerable<T> items, int currentTransaction)
Parameters
itemsIEnumerable<T>The items.
currentTransactionint
RemoveUnsaved(T, int)
Removes a value that has not yet been saved (pending state).
protected override void RemoveUnsaved(T item, int currentTransaction)
Parameters
itemTThe item.
currentTransactionint