Compartir a través de


CachedMessageBlock<TCachedMessage> Clase

Definición

CachedMessageBlock es un bloque de estructuras estrechamente empaquetadas que contienen datos de seguimiento para mensajes almacenados en caché. Estos datos están estrechamente empaquetados para reducir la presión de GC. La memoria caché de cola usa los datos de seguimiento para recorrer la caché que atiende los mensajes ordenados de la cola por secuencia.

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

Estructura estrechamente empaquetada. La estructura debe contener solo tipos de valor.

Herencia
CachedMessageBlock<TCachedMessage>

Constructores

CachedMessageBlock<TCachedMessage>(Int32)

Bloque de mensajes almacenados en caché

Propiedades

HasCapacity

Se pueden agregar más mensajes a los bloques

IsEmpty

El bloque está vacío

Item[Int32]

Acceda al mensaje almacenado en caché en el índice proporcionado.

ItemCount

Recuento de mensajes en este bloque

NewestMessage

Mensaje más reciente de este bloque

NewestMessageIndex

Índice del mensaje más reciente agregado al bloque

Node

Nodo de lista vinculada, por lo que este bloque de mensajes se puede mantener en una lista vinculada

OldestMessage

Mensaje más antiguo del bloque

OldestMessageIndex

Índice del mensaje más antiguo de este bloque

Pool

Obtiene el grupo al que se va a devolver este recurso tras su eliminación. Un grupo debe establecer esta propiedad tras la asignación de recursos.

(Heredado de PooledResource<T>)

Métodos

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

Agregue un mensaje de la cola al bloque . Convierte el mensaje de cola en un mensaje almacenado en caché y lo almacena al final del bloque.

Dispose()

Devuelve el elemento al grupo.

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

Obtiene el índice del primer mensaje de este bloque que tiene un token de secuencia en o antes del token proporcionado.

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

Obtiene el token de secuencia del mensaje más reciente de este bloque.

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

Obtiene el token de secuencia del mensaje más antiguo de este bloque.

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

Obtiene el token de secuencia del mensaje almacenado en caché un índice proporcionado.

OnResetState()

Restablece este estado bloquea el de un bloque vacío.

Remove()

Quita un mensaje del inicio del bloque (datos más antiguos). Devuelve true si todavía hay más elementos disponibles.

SignalPurge()

Si este objeto se va a usar en un grupo de objetos de tamaño fijo, esta llamada se debe invalidar con la implementación de purga que devuelve el objeto al grupo.

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

Intenta encontrar el primer mensaje del bloque que forma parte de la secuencia proporcionada.

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

Intenta obtener el siguiente mensaje de la secuencia proporcionada, empezando por el índice de inicio.

Se aplica a