# IJournalFormat Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalformat/)

## CreateWriter {#createwriter-2e39f691}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalformat/methods/createwriter-2e39f691/)

```csharp
public abstract JournalBufferWriter CreateWriter()
```

Creates a writer for a new mutable journal batch.

### Returns

A new journal buffer writer.

## Replay(JournalBufferReader, JournalReplayContext) {#replay-orleans-journaling-journalbufferreader-orleans-journaling-journalreplayco-4cf8d157}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.ijournalformat/methods/replay-orleans-journaling-journalbufferreader-orleans-journaling-journalreplayco-4cf8d157/)

```csharp
public abstract void Replay(JournalBufferReader input, JournalReplayContext context)
```

Reads as many complete journal entries as possible from `input` and applies them to resolved states.

### Parameters

- `input` (`JournalBufferReader`): The buffered persisted journal data, including its completion state.
- `context` (`JournalReplayContext`): The replay context used to resolve states and journal services.
