Condividi tramite


CachedMessageBlock<TCachedMessage> Classe

Definizione

CachedMessageBlock è un blocco di strutture strettamente compresse contenenti dati di rilevamento per i messaggi memorizzati nella cache. Questi dati sono strettamente compressi per ridurre la pressione GC. I dati di rilevamento vengono usati dalla cache della coda per esaminare la cache che gestisce i messaggi della coda ordinati per flusso.

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))

Parametri di tipo

TCachedMessage

Struttura strettamente compressa. Lo struct deve contenere solo tipi valore.

Ereditarietà
CachedMessageBlock<TCachedMessage>

Costruttori

CachedMessageBlock<TCachedMessage>(Int32)

Blocco di messaggi memorizzati nella cache

Proprietà

HasCapacity

È possibile aggiungere altri messaggi ai blocchi

IsEmpty

Il blocco è vuoto

Item[Int32]

Accedere al messaggio memorizzato nella cache in corrispondenza dell'indice specificato.

ItemCount

Numero di messaggi in questo blocco

NewestMessage

Messaggio più recente in questo blocco

NewestMessageIndex

Indice del messaggio più recente aggiunto al blocco

Node

Nodo elenco collegato, in modo che questo blocco di messaggi possa essere mantenuto in un elenco collegato

OldestMessage

Messaggio meno recente nel blocco

OldestMessageIndex

Indice del messaggio meno recente in questo blocco

Pool

Ottiene il pool a cui restituire la risorsa al momento dell'eliminazione. Un pool deve impostare questa proprietà sull'allocazione delle risorse.

(Ereditato da PooledResource<T>)

Metodi

Add<TQueueMessage>(TQueueMessage, DateTime, ICacheDataAdapter<TQueueMessage,TCachedMessage>)

Aggiungere un messaggio dalla coda al blocco . Converte il messaggio della coda in un messaggio memorizzato nella cache e lo archivia alla fine del blocco.

Dispose()

Restituisce l'elemento al pool.

(Ereditato da PooledResource<T>)
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken, ICacheDataComparer<TCachedMessage>)

Ottiene l'indice del primo messaggio in questo blocco con un token di sequenza in corrispondenza o prima del token fornito

GetNewestSequenceToken<TQueueMessage>(ICacheDataAdapter<TQueueMessage,TCachedMessage>)

Ottiene il token di sequenza del messaggio più recente in questo blocco

GetOldestSequenceToken<TQueueMessage>(ICacheDataAdapter<TQueueMessage,TCachedMessage>)

Ottiene il token di sequenza del messaggio meno recente in questo blocco

GetSequenceToken<TQueueMessage>(Int32, ICacheDataAdapter<TQueueMessage,TCachedMessage>)

Ottiene il token di sequenza del messaggio memorizzato nella cache di un indice fornito

OnResetState()

Reimposta lo stato di questo blocco su quello di un blocco vuoto.

Remove()

Rimuove un messaggio dall'inizio del blocco (dati meno recenti). Restituisce true se sono ancora disponibili altri elementi.

SignalPurge()

Se questo oggetto deve essere utilizzato in un pool di oggetti a dimensione fissa, questa chiamata deve essere sottoposta a override con l'implementazione dell'eliminazione che restituisce l'oggetto al pool.

(Ereditato da PooledResource<T>)
TryFindFirstMessage(IStreamIdentity, ICacheDataComparer<TCachedMessage>, Int32)

Tenta di trovare il primo messaggio nel blocco che fa parte del flusso fornito.

TryFindNextMessage(Int32, IStreamIdentity, ICacheDataComparer<TCachedMessage>, Int32)

Tenta di ottenere il messaggio successivo dal flusso fornito, a partire dall'indice iniziale.

Si applica a