次の方法で共有


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)

指定されたストリームから、開始インデックスから次のメッセージを取得しようとします。

適用対象