# IQueueCacheCursor.MoveNextWithResult

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

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Streaming/QueueAdapters/IQueueCacheCursor.cs#L46-L54)

```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.
