다음을 통해 공유


CachedMessageBlock<TCachedMessage> 클래스

정의

CachedMessageBlock은 캐시된 메시지에 대한 추적 데이터를 포함하는 밀집된 구조체의 블록입니다. 이 데이터는 GC 압력을 줄이기 위해 긴밀하게 압축됩니다. 추적 데이터는 큐 캐시에서 스트림별로 정렬된 큐 메시지를 제공하는 캐시를 안내하는 데 사용됩니다.

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

형식 매개 변수

TCachedMessage

단단히 포장 된 구조체. 구조체에는 값 형식만 포함되어야 합니다.

상속
CachedMessageBlock<TCachedMessage>

생성자

CachedMessageBlock<TCachedMessage>(Int32)

캐시된 메시지 블록

속성

HasCapacity

블록에 더 많은 메시지를 추가할 수 있습니다.

IsEmpty

블록이 비어 있음

Item[Int32]

제공된 인덱스에서 캐시된 메시지에 액세스합니다.

ItemCount

이 블록의 메시지 수

NewestMessage

이 블록의 최신 메시지

NewestMessageIndex

블록에 추가된 최신 메시지의 인덱스

Node

연결된 목록 노드이므로 이 메시지 블록을 연결된 목록에 보관할 수 있습니다.

OldestMessage

블록에서 가장 오래된 메시지

OldestMessageIndex

이 블록에서 가장 오래된 메시지의 인덱스

Pool

삭제 시 이 리소스를 반환할 풀을 가져옵니다. 풀은 리소스 할당 시 이 속성을 설정해야 합니다.

(다음에서 상속됨 PooledResource<T>)

메서드

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

큐의 메시지를 블록에 추가합니다. 큐 메시지를 캐시된 메시지로 변환하고 블록 끝에 저장합니다.

Dispose()

풀에 항목을 반환합니다.

(다음에서 상속됨 PooledResource<T>)
GetIndexOfFirstMessageLessThanOrEqualTo(StreamSequenceToken, ICacheDataComparer<TCachedMessage>)

제공된 토큰 또는 그 이전의 시퀀스 토큰이 있는 이 블록의 첫 번째 메시지 인덱스를 가져옵니다.

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

이 블록에서 최신 메시지의 시퀀스 토큰을 가져옵니다.

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

이 블록에서 가장 오래된 메시지의 시퀀스 토큰을 가져옵니다.

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

제공된 인덱스 캐시된 메시지의 시퀀스 토큰을 가져옵니다.

OnResetState()

이 블록 상태를 빈 블록의 상태로 다시 설정합니다.

Remove()

블록의 시작 부분에 있는 메시지(가장 오래된 데이터)를 제거합니다. 더 많은 항목을 계속 사용할 수 있는 경우 true를 반환합니다.

SignalPurge()

이 개체를 고정 크기 개체 풀에서 사용할 경우 개체를 풀에 반환하는 제거 구현을 사용하여 이 호출을 재정의해야 합니다.

(다음에서 상속됨 PooledResource<T>)
TryFindFirstMessage(IStreamIdentity, ICacheDataComparer<TCachedMessage>, Int32)

제공된 스트림의 일부인 블록에서 첫 번째 메시지를 찾으려고 시도합니다.

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

시작 인덱스에서 시작하여 제공된 스트림에서 다음 메시지를 가져오려고 시도합니다.

적용 대상