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