Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    Store<T> Class

    Namespace: Stride.Core.IO
    Assembly: Stride.Core.Serialization.dll

    A store that will be incrementally saved on the HDD. Thread-safe and process-safe.

    System.Object → Store<T>
    Derived from Store<T>: DictionaryStore<TKey, TValue> ListStore<T>

    public abstract class Store<T> : IDisposable where T : new()
    Type Parameters
    Name Description
    T

    The type of elements in the store.

    Name Description
    Constructors
    Store(Stream)
    Fields
    lockObject
    stream
    transaction
    Properties
    AutoLoadNewValues

    Gets or sets a flag specifying if a Save should also load new values that happened in between.

    UseTransaction

    Gets or sets a flag specifying if the index map changes should be kept aside instead of being committed immediately.

    Methods
    AddLoaded(T)

    Adds a value that has already been saved in the store (saved state).

    AddUnsaved(T, Int32)

    Adds a value that has not yet been saved in the store (pending state).

    AddValue(T)

    Adds a value to the store.

    AddValues(IEnumerable<T>)

    Adds multiple values to the store

    BuildContext(Stream)
    Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Waits for pending operation to finish, if any. Note that it does not write pending transaction if Save() has not been called before.

    GetPendingItems(Int32)

    Gets the list of pending items for a given transaction index.

    LoadNewValues()

    Refreshes URL to ObjectId mapping from the latest results in the index file.

    ReadEntries(Stream)
    RemoveUnsaved(T, Int32)

    Removes a value that has not yet been saved (pending state).

    RemoveUnsaved(IEnumerable<T>, Int32)

    Removes values that have not yet been saved (pending state).

    Reset()

    Resets the store to an empty state.

    ResetInternal()

    Resets the store to an empty state, to be implemented by subclasses if necessary.

    Save()

    Saves the newly added mapping (only necessary when UseTransaction is set to true).

    WriteEntry(Stream, T)
    | Improve this Doc View Source

    Constructors


    Store(Stream)

    protected Store(Stream stream)
    Parameters
    Type Name Description
    System.IO.Stream stream
    | Improve this Doc View Source

    Fields


    lockObject

    protected object lockObject
    Field Value
    Type Description
    System.Object

    stream

    protected Stream stream
    Field Value
    Type Description
    System.IO.Stream

    transaction

    protected int transaction
    Field Value
    Type Description
    System.Int32
    | Improve this Doc View Source

    Properties


    AutoLoadNewValues

    Gets or sets a flag specifying if a Save should also load new values that happened in between.

    public bool AutoLoadNewValues { get; set; }
    Property Value
    Type Description
    System.Boolean

    UseTransaction

    Gets or sets a flag specifying if the index map changes should be kept aside instead of being committed immediately.

    public bool UseTransaction { get; set; }
    Property Value
    Type Description
    System.Boolean
    | Improve this Doc View Source

    Methods


    AddLoaded(T)

    Adds a value that has already been saved in the store (saved state).

    protected abstract void AddLoaded(T item)
    Parameters
    Type Name Description
    T item

    The item.


    AddUnsaved(T, Int32)

    Adds a value that has not yet been saved in the store (pending state).

    protected abstract void AddUnsaved(T item, int transaction)
    Parameters
    Type Name Description
    T item

    The item.

    System.Int32 transaction

    The transaction index.


    AddValue(T)

    Adds a value to the store.

    public void AddValue(T item)
    Parameters
    Type Name Description
    T item

    The item.


    AddValues(IEnumerable<T>)

    Adds multiple values to the store

    public void AddValues(IEnumerable<T> values)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<T> values

    The values.


    BuildContext(Stream)

    protected virtual object BuildContext(Stream stream)
    Parameters
    Type Name Description
    System.IO.Stream stream
    Returns
    Type Description
    System.Object

    Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Waits for pending operation to finish, if any. Note that it does not write pending transaction if Save() has not been called before.

    public void Dispose()

    GetPendingItems(Int32)

    Gets the list of pending items for a given transaction index.

    protected abstract IEnumerable<T> GetPendingItems(int transaction)
    Parameters
    Type Name Description
    System.Int32 transaction

    The transaction index.

    Returns
    Type Description
    System.Collections.Generic.IEnumerable<T>

    LoadNewValues()

    Refreshes URL to ObjectId mapping from the latest results in the index file.

    public bool LoadNewValues()
    Returns
    Type Description
    System.Boolean

    True on success.


    ReadEntries(Stream)

    protected virtual List<T> ReadEntries(Stream localStream)
    Parameters
    Type Name Description
    System.IO.Stream localStream
    Returns
    Type Description
    System.Collections.Generic.List<T>

    RemoveUnsaved(T, Int32)

    Removes a value that has not yet been saved (pending state).

    protected abstract void RemoveUnsaved(T item, int transaction)
    Parameters
    Type Name Description
    T item

    The item.

    System.Int32 transaction

    The transaction index.


    RemoveUnsaved(IEnumerable<T>, Int32)

    Removes values that have not yet been saved (pending state).

    protected virtual void RemoveUnsaved(IEnumerable<T> items, int transaction)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<T> items

    The items.

    System.Int32 transaction

    The transaction index.


    Reset()

    Resets the store to an empty state.

    public void Reset()

    ResetInternal()

    Resets the store to an empty state, to be implemented by subclasses if necessary.

    protected virtual void ResetInternal()

    Save()

    Saves the newly added mapping (only necessary when UseTransaction is set to true).

    public void Save()

    WriteEntry(Stream, T)

    protected virtual void WriteEntry(Stream stream, T value)
    Parameters
    Type Name Description
    System.IO.Stream stream
    T value

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation