# SimpleQueueCacheCursor.MoveNextWithResult

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.simplequeuecachecursor/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.simplequeuecachecursor/methods/)

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Streaming/Common/SimpleCache/SimpleQueueCacheCursor.cs#L106-L114)

```csharp
public virtual QueueCacheCursorMoveResult MoveNextWithResult()
```

Attempts to move to the next message in the stream.

### Returns

A successful result when the cursor has a current item, [QueueCacheCursorMoveResultKind](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.queuecachecursormoveresultkind/) when no item is available, or a cache-miss result containing the unavailable position and cache bounds.
