# IStreamQueueCheckpointer&lt;TCheckpoint&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuecheckpointer-1/)

## FlushAsync(CancellationToken) {#flushasync-system-threading-cancellationtoken-4006c6a6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuecheckpointer-1/methods/flushasync-system-threading-cancellationtoken-4006c6a6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/PersistentStreams/IStreamQueueCheckpointer.cs#L51)

```csharp
public virtual Task FlushAsync(CancellationToken cancellationToken)
```

Flushes any pending checkpoint to persistent storage, ensuring the latest offset is durably saved. Called during shutdown or rebalancing to prevent message replay on restart.

### Parameters

- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

A `System.Threading.Tasks.Task` representing the flush operation.

## Load {#load-2d15cfd5}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuecheckpointer-1/methods/load-2d15cfd5/)

```csharp
public abstract Task<TCheckpoint> Load()
```

Loads the checkpoint.

### Returns

The checkpoint.

## Update(TCheckpoint, DateTime) {#update-tcheckpoint-system-datetime-cd25fd49}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuecheckpointer-1/methods/update-tcheckpoint-system-datetime-cd25fd49/)

```csharp
public abstract void Update(TCheckpoint offset, DateTime utcNow)
```

Updates the checkpoint.

### Parameters

- `offset` (`TCheckpoint`): The offset.
- `utcNow` (`DateTime`): The current UTC time.
