Compartilhar via


CachedMessageBlock<TCachedMessage> Classe

Definição

CachedMessageBlock é um bloco de estruturas bem empacotadas que contêm dados de rastreamento para mensagens armazenadas em cache. Esses dados são fortemente empacotados para reduzir a pressão do GC. Os dados de rastreamento são usados pelo cache de fila para percorrer o cache que atende mensagens ordenadas da fila por fluxo.

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

Parâmetros de tipo

TCachedMessage

Estrutura bem embalada. Struct deve conter apenas tipos de valor.

Herança
CachedMessageBlock<TCachedMessage>

Construtores

CachedMessageBlock<TCachedMessage>(Int32)

Bloco de mensagens armazenadas em cache

Propriedades

HasCapacity

Mais mensagens podem ser adicionadas aos blocos

IsEmpty

O bloco está vazio

Item[Int32]

Acesse a mensagem armazenada em cache no índice fornecido.

ItemCount

Contagem de mensagens neste bloco

NewestMessage

Mensagem mais recente neste bloco

NewestMessageIndex

Índice da mensagem mais recente adicionada ao bloco

Node

Nó de lista vinculado, portanto, esse bloco de mensagens pode ser mantido em uma lista vinculada

OldestMessage

Mensagem mais antiga no bloco

OldestMessageIndex

Índice da mensagem mais antiga neste bloco

Pool

Obtém o pool para o qual retornar esse recurso após a eliminação. Um pool deve definir essa propriedade após a alocação de recursos.

(Herdado de PooledResource<T>)

Métodos

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

Adicione uma mensagem da fila ao bloco. Converte a mensagem da fila em uma mensagem armazenada em cache e a armazena no final do bloco.

Dispose()

Retorna o item para o pool.

(Herdado de PooledResource<T>)
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken, ICacheDataComparer<TCachedMessage>)

Obtém o índice da primeira mensagem neste bloco que tem um token de sequência em ou antes do token fornecido

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

Obtém o token de sequência da mensagem mais recente neste bloco

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

Obtém o token de sequência da mensagem mais antiga neste bloco

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

Obtém o token de sequência da mensagem armazenada em cache um índice fornecido

OnResetState()

Redefine esse estado de blocos ao de um bloco vazio.

Remove()

Remove uma mensagem do início do bloco (dados mais antigos). Retornará true se mais itens ainda estiverem disponíveis.

SignalPurge()

Se esse objeto for usado em um pool de objetos de tamanho fixo, essa chamada deverá ser substituída pela implementação de limpeza que retorna o objeto para o pool.

(Herdado de PooledResource<T>)
TryFindFirstMessage(IStreamIdentity, ICacheDataComparer<TCachedMessage>, Int32)

Tenta localizar a primeira mensagem no bloco que faz parte do fluxo fornecido.

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

Tenta obter a próxima mensagem do fluxo fornecido, começando no índice inicial.

Aplica-se a