CachedMessageBlock 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
CachedMessageBlock 是一个紧密打包的结构块,其中包含缓存消息的跟踪数据。 此数据紧密打包,以减小 GC 压力。 队列缓存使用跟踪数据来遍视按流提供有序队列消息的缓存。
public class CachedMessageBlock : Orleans.Providers.Streams.Common.PooledResource<Orleans.Providers.Streams.Common.CachedMessageBlock>
type CachedMessageBlock = class
inherit PooledResource<CachedMessageBlock>
Public Class CachedMessageBlock
Inherits PooledResource(Of CachedMessageBlock)
- 继承
构造函数
CachedMessageBlock(Int32) |
阻止缓存的消息。 |
属性
HasCapacity |
获取一个值,该值指示是否可以将更多消息添加到 块。 |
IsEmpty |
获取一个值,该值指示此块是否为空。 |
Item[Int32] |
访问提供的索引处的缓存消息。 |
ItemCount |
获取此块中的消息数。 |
NewestMessage |
获取此块中的最新消息。 |
NewestMessageIndex |
获取添加到 块的最新消息的索引。 |
Node |
链接列表节点,因此此消息块可以保留在链接列表中。 |
OldestMessage |
获取 块中最早的消息。 |
OldestMessageIndex |
获取此块中最早的消息的索引。 |
Pool |
获取在处置时要将此资源返回到的池。 池必须在资源分配时设置此属性。 (继承自 PooledResource<T>) |
方法
Add(CachedMessage) |
将队列中的消息添加到 块。 将队列消息转换为缓存的消息,并将其存储在 块的末尾。 |
Dispose() |
返回池中的项。 (继承自 PooledResource<T>) |
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken) |
获取此块中第一个消息的索引,该消息在提供的标记处或之前具有序列标记 |
GetNewestSequenceToken(ICacheDataAdapter) |
获取此块中最新消息的序列标记 |
GetOldestSequenceToken(ICacheDataAdapter) |
获取此块中最早的消息的序列标记 |
GetSequenceToken(Int32, ICacheDataAdapter) |
获取所提供索引的缓存消息的序列标记 |
OnResetState() |
将此块状态重置为空块的状态。 |
Remove() |
从块开头删除消息, (最早的数据) 。 |
SignalPurge() |
如果要在固定大小的对象池中使用此对象,则应使用将对象返回到池的清除实现重写此调用。 (继承自 PooledResource<T>) |
TryFindFirstMessage(IStreamIdentity, ICacheDataAdapter, Int32) |
尝试在块中查找属于所提供流的第一条消息。 |
TryFindFirstMessage(StreamId, ICacheDataAdapter, Int32) |
尝试在块中查找属于所提供流的第一条消息。 |
TryFindNextMessage(Int32, IStreamIdentity, ICacheDataAdapter, Int32) |
尝试从提供的流中获取下一条消息,从起始索引开始。 |
TryFindNextMessage(Int32, StreamId, ICacheDataAdapter, Int32) |
尝试从提供的流中获取下一条消息,从起始索引开始。 |