CachedMessageBlock<TCachedMessage> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
CachedMessageBlock ist ein Block eng gepackter Strukturen, die Nachverfolgungsdaten für zwischengespeicherte Nachrichten enthalten. Diese Daten sind eng gepackt, um den GC-Druck zu verringern. Die Nachverfolgungsdaten werden vom Warteschlangencache verwendet, um den Cache zu durchlaufen, der geordnete Warteschlangennachrichten nach Stream verarbeitet.
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))
Typparameter
- TCachedMessage
Eng gepackte Struktur. Struktur sollte nur Werttypen enthalten.
- Vererbung
Konstruktoren
CachedMessageBlock<TCachedMessage>(Int32) |
Block von zwischengespeicherten Nachrichten |
Eigenschaften
HasCapacity |
Den Blöcken können weitere Nachrichten hinzugefügt werden. |
IsEmpty |
Block ist leer |
Item[Int32] |
Greifen Sie auf die zwischengespeicherte Nachricht am bereitgestellten Index zu. |
ItemCount |
Nachrichtenanzahl in diesem Block |
NewestMessage |
Neueste Nachricht in diesem Block |
NewestMessageIndex |
Index der letzten Nachricht, die dem Block hinzugefügt wurde |
Node |
Verknüpfter Listenknoten, sodass dieser Nachrichtenblock in einer verknüpften Liste beibehalten werden kann |
OldestMessage |
Älteste Nachricht im Block |
OldestMessageIndex |
Index der ältesten Nachricht in diesem Block |
Pool |
Ruft den Pool ab, an den diese Ressource bei der Entsorgung zurückgegeben werden soll. Ein Pool muss diese Eigenschaft bei der Ressourcenzuordnung festlegen. (Geerbt von PooledResource<T>) |
Methoden
Add<TQueueMessage>(TQueueMessage, DateTime, ICacheDataAdapter<TQueueMessage,TCachedMessage>) |
Fügen Sie dem Block eine Nachricht aus der Warteschlange hinzu. Konvertiert die Warteschlangennachricht in eine zwischengespeicherte Nachricht und speichert sie am Ende des Blocks. |
Dispose() |
Gibt das Element an den Pool zurück. (Geerbt von PooledResource<T>) |
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken, ICacheDataComparer<TCachedMessage>) |
Ruft den Index der ersten Nachricht in diesem Block ab, die über ein Sequenztoken am oder vor dem bereitgestellten Token verfügt |
GetNewestSequenceToken<TQueueMessage>(ICacheDataAdapter<TQueueMessage,TCachedMessage>) |
Ruft das Sequenztoken der neuesten Nachricht in diesem Block ab. |
GetOldestSequenceToken<TQueueMessage>(ICacheDataAdapter<TQueueMessage,TCachedMessage>) |
Ruft das Sequenztoken der ältesten Nachricht in diesem Block ab. |
GetSequenceToken<TQueueMessage>(Int32, ICacheDataAdapter<TQueueMessage,TCachedMessage>) |
Ruft das Sequenztoken der zwischengespeicherten Nachricht und den bereitgestellten Index ab. |
OnResetState() |
Setzt diesen Blockzustand auf den eines leeren Blocks zurück. |
Remove() |
Entfernt eine Nachricht vom Anfang des Blocks (älteste Daten). Gibt true zurück, wenn noch weitere Elemente verfügbar sind. |
SignalPurge() |
Wenn dieses Objekt in einem Objektpool mit fester Größe verwendet werden soll, sollte dieser Aufruf mit der Bereinigungsimplementierung überschrieben werden, die das Objekt an den Pool zurückgibt. (Geerbt von PooledResource<T>) |
TryFindFirstMessage(IStreamIdentity, ICacheDataComparer<TCachedMessage>, Int32) |
Versucht, die erste Nachricht im Block zu finden, die Teil des bereitgestellten Datenstroms ist. |
TryFindNextMessage(Int32, IStreamIdentity, ICacheDataComparer<TCachedMessage>, Int32) |
Versucht, die nächste Nachricht aus dem bereitgestellten Stream ab dem Startindex abzurufen. |