# CachedMessageBlock

Package: [Microsoft.Orleans.Streaming](/orleans/docs/api/csharp/microsoft.orleans.streaming/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Streaming) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/CachedMessageBlock.cs#L14)

```csharp
public class CachedMessageBlock : PooledResource<CachedMessageBlock>
```

CachedMessageBlock is a block of tightly packed structures containing tracking data for cached messages. This data is tightly packed to reduced GC pressure. The tracking data is used by the queue cache to walk the cache serving ordered queue messages by stream.

## Constructors

- [CachedMessageBlock(int)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/constructors/constructor-int-f7464d93/)

## Properties

- [HasCapacity](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/hascapacity-212b44e4/)
- [IsEmpty](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/isempty-0b33e1b1/)
- [ItemCount](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/itemcount-ee3d9f8d/)
- [NewestMessage](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/newestmessage-0d9ed7ba/)
- [NewestMessageIndex](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/newestmessageindex-1e3aad7e/)
- [Node](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/node-55ee9221/)
- [OldestMessage](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/oldestmessage-80fc8c85/)
- [OldestMessageIndex](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/properties/oldestmessageindex-a8722a9b/)

## Methods

- [Add(CachedMessage)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/add-orleans-providers-streams-common-cachedmessage-7b5fb932/)
- [GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/getindexoffirstmessagelessthanorequalto-orleans-streams-streamsequencetoken-199ad8d3/)
- [GetNewestSequenceToken(ICacheDataAdapter)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/getnewestsequencetoken-orleans-providers-streams-common-icachedataadapter-0cd4442e/)
- [GetOldestSequenceToken(ICacheDataAdapter)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/getoldestsequencetoken-orleans-providers-streams-common-icachedataadapter-f9b8404f/)
- [GetSequenceToken(int, ICacheDataAdapter)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/getsequencetoken-int-orleans-providers-streams-common-icachedataadapter-d46b3fd1/)
- [OnResetState](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/onresetstate-7b4f26cc/)
- [Remove](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/remove-8f1a6a13/)
- [TryFindFirstMessage(StreamId, ICacheDataAdapter, int)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/tryfindfirstmessage-orleans-runtime-streamid-orleans-providers-streams-common-ic-4962baea/)
- [TryFindNextMessage(int, StreamId, ICacheDataAdapter, int)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/methods/tryfindnextmessage-int-orleans-runtime-streamid-orleans-providers-streams-common-4cd8bc78/)

## Indexers

- [this[int]](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.cachedmessageblock/indexers/this-int-e69a9362/)
