CachedMessageBlock Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
CachedMessageBlock — это блок тесно упакованных структур, содержащих данные отслеживания кэшированных сообщений. Эти данные плотно упакованы для снижения давления мусора. Данные отслеживания используются кэшем очередей для обхода кэша, обслуживая упорядоченные сообщения очереди по потоку.
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)
- Наследование
Конструкторы
CachedMessageBlock(Int32) |
Блок кэшированных сообщений. |
Свойства
HasCapacity |
Возвращает значение, указывающее, можно ли добавить в блок дополнительные сообщения. |
IsEmpty |
Возвращает значение, указывающее, является ли этот блок пустым. |
Item[Int32] |
Доступ к кэшированному сообщению по указанному индексу. |
ItemCount |
Возвращает количество сообщений в этом блоке. |
NewestMessage |
Возвращает последнее сообщение в этом блоке. |
NewestMessageIndex |
Возвращает индекс последнего сообщения, добавленного в блок. |
Node |
Узел связанного списка, поэтому этот блок сообщений можно хранить в связанном списке. |
OldestMessage |
Возвращает самое старое сообщение в блоке. |
OldestMessageIndex |
Возвращает индекс самого старого сообщения в этом блоке. |
Pool |
Возвращает пул, в который возвращается этот ресурс при удалении. Пул должен задать это свойство при выделении ресурсов. (Унаследовано от PooledResource<T>) |
Методы
Add(CachedMessage) |
Добавьте сообщение из очереди в блок. Преобразует сообщение очереди в кэшированное и сохраняет его в конце блока. |
Dispose() |
Возвращает элемент в пул. (Унаследовано от PooledResource<T>) |
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken) |
Возвращает индекс первого сообщения в этом блоке с маркером последовательности в указанном маркере или до него. |
GetNewestSequenceToken(ICacheDataAdapter) |
Возвращает токен последовательности для новейшего сообщения в этом блоке. |
GetOldestSequenceToken(ICacheDataAdapter) |
Возвращает токен последовательности самого старого сообщения в этом блоке. |
GetSequenceToken(Int32, ICacheDataAdapter) |
Возвращает токен последовательности кэшированного сообщения с указанным индексом. |
OnResetState() |
Сбрасывает состояние этого блока в состояние пустого блока. |
Remove() |
Удаляет сообщение из начала блока (самые старые данные). |
SignalPurge() |
Если этот объект будет использоваться в пуле объектов фиксированного размера, этот вызов должен быть переопределен реализацией очистки, которая возвращает объект в пул. (Унаследовано от PooledResource<T>) |
TryFindFirstMessage(IStreamIdentity, ICacheDataAdapter, Int32) |
Пытается найти первое сообщение в блоке, который является частью предоставленного потока. |
TryFindFirstMessage(StreamId, ICacheDataAdapter, Int32) |
Пытается найти первое сообщение в блоке, который является частью предоставленного потока. |
TryFindNextMessage(Int32, IStreamIdentity, ICacheDataAdapter, Int32) |
Пытается получить следующее сообщение из предоставленного потока, начиная с начального индекса. |
TryFindNextMessage(Int32, StreamId, ICacheDataAdapter, Int32) |
Пытается получить следующее сообщение из предоставленного потока, начиная с начального индекса. |