# JsonDurableQueueCommandCodec&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/)

## Apply(JournalBufferReader, IDurableQueueCommandHandler&lt;T&gt;) {#apply-orleans-journaling-journalbufferreader-orleans-journaling-idurablequeuecom-0bdcc47c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/methods/apply-orleans-journaling-journalbufferreader-orleans-journaling-idurablequeuecom-0bdcc47c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableCollectionCommandCodecs.cs#L230-L239)

```csharp
public void Apply(JournalBufferReader input, IDurableQueueCommandHandler<T> consumer)
```

Reads one encoded command and applies it to `consumer`.

### Parameters

- `input` (`JournalBufferReader`)
- `consumer` (`IDurableQueueCommandHandler<T>`)

## WriteClear(JournalStreamWriter) {#writeclear-orleans-journaling-journalstreamwriter-3ccf37c5}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/methods/writeclear-orleans-journaling-journalstreamwriter-3ccf37c5/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableCollectionCommandCodecs.cs#L195-L199)

```csharp
public void WriteClear(JournalStreamWriter writer)
```

Writes a clear command.

### Parameters

- `writer` (`JournalStreamWriter`)

## WriteDequeue(JournalStreamWriter) {#writedequeue-orleans-journaling-journalstreamwriter-ebf8b0f2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/methods/writedequeue-orleans-journaling-journalstreamwriter-ebf8b0f2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableCollectionCommandCodecs.cs#L186-L190)

```csharp
public void WriteDequeue(JournalStreamWriter writer)
```

Writes a dequeue command.

### Parameters

- `writer` (`JournalStreamWriter`)

## WriteEnqueue(T, JournalStreamWriter) {#writeenqueue-t-orleans-journaling-journalstreamwriter-c92c9d5b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/methods/writeenqueue-t-orleans-journaling-journalstreamwriter-c92c9d5b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableCollectionCommandCodecs.cs#L173-L181)

```csharp
public void WriteEnqueue(T item, JournalStreamWriter writer)
```

Writes an enqueue command.

### Parameters

- `item` (`T`)
- `writer` (`JournalStreamWriter`)

## WriteSnapshot(IReadOnlyCollection&lt;T&gt;, JournalStreamWriter) {#writesnapshot-system-collections-generic-ireadonlycollection-t-orleans-journalin-2ef8439b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.json.jsondurablequeuecommandcodec-1/methods/writesnapshot-system-collections-generic-ireadonlycollection-t-orleans-journalin-2ef8439b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Journaling/Formats/Json/JsonDurableCollectionCommandCodecs.cs#L204-L225)

```csharp
public void WriteSnapshot(IReadOnlyCollection<T> items, JournalStreamWriter writer)
```

Writes a snapshot command, deriving the item count from `items`.

### Parameters

- `items` (`IReadOnlyCollection<T>`)
- `writer` (`JournalStreamWriter`)
