CachedMessageBlock<TCachedMessage> Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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. |