Condividi tramite


CachedMessageBlock Classe

Definizione

CachedMessageBlock è un blocco di strutture strettamente complete 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 seguire la cache che gestisce i messaggi di coda ordinati in base al flusso.

public class CachedMessageBlock : Orleans.Providers.Streams.Common.PooledResource<Orleans.Providers.Streams.Common.CachedMessageBlock>
type CachedMessageBlock = class
    inherit PooledResource<CachedMessageBlock>
Public Class CachedMessageBlock
Inherits PooledResource(Of CachedMessageBlock)
Ereditarietà

Costruttori

CachedMessageBlock(Int32)

Blocco di messaggi memorizzati nella cache.

Proprietà

HasCapacity

Ottiene un valore che indica se è possibile aggiungere più messaggi al blocco.

IsEmpty

Ottiene un valore che indica se questo blocco è vuoto.

Item[Int32]

Accedere al messaggio memorizzato nella cache nell'indice specificato.

ItemCount

Ottiene il numero di messaggi in questo blocco.

NewestMessage

Ottiene il messaggio più recente in questo blocco.

NewestMessageIndex

Ottiene l'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

Ottiene il messaggio meno recente nel blocco.

OldestMessageIndex

Ottiene l'indice del messaggio meno recente in questo blocco.

Pool

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

(Ereditato da PooledResource<T>)

Metodi

Add(CachedMessage)

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 nel pool.

(Ereditato da PooledResource<T>)
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken)

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

GetNewestSequenceToken(ICacheDataAdapter)

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

GetOldestSequenceToken(ICacheDataAdapter)

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

GetSequenceToken(Int32, ICacheDataAdapter)

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

OnResetState()

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

Remove()

Rimuove un messaggio dall'inizio del blocco (dati meno recenti).

SignalPurge()

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

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

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

TryFindFirstMessage(StreamId, ICacheDataAdapter, Int32)

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

TryFindNextMessage(Int32, IStreamIdentity, ICacheDataAdapter, Int32)

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

TryFindNextMessage(Int32, StreamId, ICacheDataAdapter, Int32)

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

Si applica a