共用方式為


CachedMessageBlock<TCachedMessage> 類別

定義

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>

建構函式

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)

嘗試從提供的資料流程取得下一個訊息,從開始索引開始。

適用於