다음을 통해 공유


CachedMessageBlock 클래스

정의

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

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)

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

적용 대상