# IStreamCheckpointStore Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamcheckpointstore/)

## Load(CancellationToken) {#load-system-threading-cancellationtoken-ae9bb543}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamcheckpointstore/methods/load-system-threading-cancellationtoken-ae9bb543/)

```csharp
public abstract ValueTask<StreamCheckpointStoreState> Load(CancellationToken cancellationToken)
```

Loads the current checkpoint and its version.

### Parameters

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

### Returns

The current checkpoint state.

## Update(string, string, CancellationToken) {#update-string-string-system-threading-cancellationtoken-e1ba8672}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamcheckpointstore/methods/update-string-string-system-threading-cancellationtoken-e1ba8672/)

```csharp
public abstract ValueTask<StreamCheckpointStoreState> Update(string checkpoint, string expectedVersion, CancellationToken cancellationToken)
```

Updates the checkpoint if `expectedVersion` matches the persisted version.

### Parameters

- `checkpoint` (`string`): The checkpoint to persist.
- `expectedVersion` (`string`): The expected persisted version.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

The persisted state after the update attempt. If the expected version did not match, the returned state contains the conflicting persisted checkpoint and version.
