GrainStateWithMetaData<TView> Class

Definition

A class that extends grain state with versioning metadata, so that a log-consistent grain can use a standard storage provider.

C#
[System.Serializable]
public class GrainStateWithMetaData<TView> where TView : class, new()
C#
[System.Serializable]
[Orleans.GenerateSerializer]
public sealed class GrainStateWithMetaData<TView> where TView : class, new()

Type Parameters

TView
Inheritance
GrainStateWithMetaData<TView>
Attributes

Constructors

GrainStateWithMetaData<TView>()

Initializes a new instance of the GrainStateWithMetaData<TView> class.

GrainStateWithMetaData<TView>(TView)

Initializes a new instance of the GrainStateWithMetaData<TView> class.

Properties

GlobalVersion

The length of the log

State

The stored view of the log

WriteVector

Metadata that is used to avoid duplicate appends. Logically, this is a (string->bit) map, the keys being replica ids But this map is represented compactly as a simple string to reduce serialization/deserialization overhead Bits are read by GetBit(String) and flipped by FlipBit(String). Bits are toggled when writing, so that the retry logic can avoid appending an entry twice when retrying a failed append.

Methods

FlipBit(String)

toggle one of the bits in WriteVector and return the new value.

GetBit(String)

Gets one of the bits in WriteVector

Applies to

Toode Versioonid
.NET Orleans 1.5.10, 3.4.5, 3.6.0, 7.0.0, 8.0.0, 8.1.0, 8.2.0, 9.0.0