# Microsoft.Orleans.Journaling

10.0.0-alpha.1 | net10.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Journaling)

## Orleans.Journaling

- [DurableGrain](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablegrain/) - The abstract base class for all grain classes.
- [DurableTaskCompletionSourceState&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durabletaskcompletionsourcestate-1/) - Provides the base class for value types.
- [DurableTaskCompletionSourceStatus](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durabletaskcompletionsourcestatus/) - Provides the base class for enumerations.
- [HostingExtensions](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.hostingextensions/) - Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- [IDurableDictionary&lt;K, V&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurabledictionary-2/)
- [IDurableDictionaryCommandCodec&lt;TKey, TValue&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurabledictionarycommandcodec-2/) - Serializes one durable dictionary command and applies one decoded command.
- [IDurableDictionaryCommandHandler&lt;TKey, TValue&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurabledictionarycommandhandler-2/) - Receives decoded durable dictionary commands from a codec implementation.
- [IDurableList&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablelist-1/)
- [IDurableListCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablelistcommandcodec-1/) - Serializes one durable list command and applies one decoded command.
- [IDurableListCommandHandler&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablelistcommandhandler-1/) - Receives decoded durable list commands from a codec implementation.
- [IDurableNothing](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablenothing/) - A durable object which does nothing, used for retiring other durable types.
- [IDurableQueue&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablequeue-1/)
- [IDurableQueueCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablequeuecommandcodec-1/) - Serializes one durable queue command and applies one decoded command.
- [IDurableQueueCommandHandler&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablequeuecommandhandler-1/) - Receives decoded durable queue commands from a codec implementation.
- [IDurableSet&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurableset-1/)
- [IDurableSetCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablesetcommandcodec-1/) - Serializes one durable set command and applies one decoded command.
- [IDurableSetCommandHandler&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablesetcommandhandler-1/) - Receives decoded durable set commands from a codec implementation.
- [IDurableTaskCompletionSource&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurabletaskcompletionsource-1/)
- [IDurableTaskCompletionSourceCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurabletaskcompletionsourcecommandcodec-1/) - Serializes one durable task completion source command and applies one decoded command.
- [IDurableTaskCompletionSourceCommandHandler&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurabletaskcompletionsourcecommandhandler-1/) - Receives decoded durable task completion source commands from a codec implementation.
- [IDurableValue&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablevalue-1/)
- [IDurableValueCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablevaluecommandcodec-1/) - Serializes one durable value command and applies one decoded command.
- [IDurableValueCommandHandler&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablevaluecommandhandler-1/) - Receives decoded durable value commands from a codec implementation.
- [IJournaledState](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournaledstate/) - Interface for a state which can be persisted to durable storage.
- [IJournaledStateManager](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournaledstatemanager/) - Manages the states for a given grain.
- [IJournaledStateManagerFactory](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournaledstatemanagerfactory/) - Creates journaled state managers for journals identified independently of a grain activation.
- [IJournalFormat](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalformat/) - Reads and writes the physical byte format used to persist state journal entries.
- [IJournalMetadata](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalmetadata/) - Metadata associated with journal storage.
- [IJournalStorage](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalstorage/) - Provides journal storage.
- [IJournalStorageCatalog](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalstoragecatalog/) - Provides catalog operations for journal storage instances.
- [IJournalStorageConsumer](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalstorageconsumer/) - Reads raw journal data from an [IJournalStorage](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalstorage/) instance.
- [IJournalStorageProvider](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalstorageprovider/) - Creates journal storage.
- [IPersistentStateCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ipersistentstatecommandcodec-1/) - Serializes one durable persistent state command and applies one decoded command.
- [IPersistentStateCommandHandler&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ipersistentstatecommandhandler-1/) - Receives decoded durable persistent state commands from a codec implementation.
- [IPreservedJournalEntry](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ipreservedjournalentry/) - A format-owned journal entry which can be copied forward without interpreting it.
- [JournalBufferReader](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalbufferreader/) - Provides access to buffered journal data read from storage.
- [JournalBufferWriter](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalbufferwriter/) - Base class for in-memory journal buffers used to assemble a pending journal batch.
- [JournaledStateManagerOptions](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journaledstatemanageroptions/) - Options to configure the [IJournaledStateManager](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournaledstatemanager/).
- [JournalEntry](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalentry/) - Represents one persisted journal entry.
- [JournalEntryScope](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalentryscope/) - Represents the lexical write scope for one state journal entry.
- [JournalId](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalid/) - Identifies a journal independently of any grain activation.
- [JournalingTimeProviderNames](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalingtimeprovidernames/) - Service key used to resolve the journaling subsystem's `System.TimeProvider` from keyed dependency injection. See [TimeProviderNames](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.runtime.timeprovidernames/) for the core runtime areas.
- [JournalMetadata](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalmetadata/) - Default implementation of [IJournalMetadata](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalmetadata/).
- [JournalReplayContext](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalreplaycontext/) - Provides services used by journaled states during replay.
- [JournalStorageConsumerExtensions](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalstorageconsumerextensions/) - Helper methods for reading journal storage data.
- [JournalStreamId](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalstreamid/) - Identifies a state.
- [JournalStreamWriter](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.journalstreamwriter/) - Writes journal entries for one state into the current journal batch.
- [VolatileJournalStorage](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.volatilejournalstorage/) - An in-memory, volatile implementation of [IJournalStorage](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalstorage/) for non-durable use cases, such as development and testing.
- [VolatileJournalStorageProvider](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.volatilejournalstorageprovider/) - Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

## Orleans.Journaling.Json

- [JsonDurableDictionaryCommandCodec&lt;TKey, TValue&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurabledictionarycommandcodec-2/) - JSON codec for durable dictionary journal entries.
- [JsonDurableListCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablelistcommandcodec-1/) - JSON codec for durable list journal entries.
- [JsonDurableQueueCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/) - JSON codec for durable queue journal entries.
- [JsonDurableSetCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablesetcommandcodec-1/) - JSON codec for durable set journal entries.
- [JsonDurableTaskCompletionSourceCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurabletaskcompletionsourcecommandcodec-1/) - JSON codec for durable task completion source journal entries.
- [JsonDurableValueCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablevaluecommandcodec-1/) - JSON codec for durable value journal entries.
- [JsonJournalExtensions](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonjournalextensions/) - Extension methods for configuring the JSON Lines Orleans.Journaling format.
- [JsonJournalOptions](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonjournaloptions/) - Options for configuring JSON Lines-based journaling.
- [JsonPersistentStateCommandCodec&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsonpersistentstatecommandcodec-1/) - JSON codec for durable persistent state journal entries.

## OrleansCodeGen.Orleans.Journaling

- [Codec_DurableTaskCompletionSourceState&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleanscodegen.orleans.journaling.codec-durabletaskcompletionsourcestate-1/) - Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- [Codec_DurableTaskCompletionSourceStatus](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleanscodegen.orleans.journaling.codec-durabletaskcompletionsourcestatus/) - Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- [Copier_DurableTaskCompletionSourceState&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleanscodegen.orleans.journaling.copier-durabletaskcompletionsourcestate-1/) - Base type for deep copiers of types that are actually shallow-copyable.
