# IPersistentStateCommandCodec&lt;T&gt;

Package: [Microsoft.Orleans.Journaling](/orleans/docs/api/csharp/microsoft.orleans.journaling/) 10.0.0-alpha.1

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

```csharp
public interface IPersistentStateCommandCodec<T>
```

Serializes one durable persistent state command and applies one decoded command.

## Methods

- [Apply(JournalBufferReader, IPersistentStateCommandHandler&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ipersistentstatecommandcodec-1/methods/apply-orleans-journaling-journalbufferreader-orleans-journaling-ipersistentstate-e5bb6261/)
- [WriteClear(JournalStreamWriter)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ipersistentstatecommandcodec-1/methods/writeclear-orleans-journaling-journalstreamwriter-5066072c/)
- [WriteSet(T, ulong, JournalStreamWriter)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ipersistentstatecommandcodec-1/methods/writeset-t-ulong-orleans-journaling-journalstreamwriter-2d552997/)
