IRecordSequence Interface

Definição

Fornece uma interface genérica para uma sequência de registos.

public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
    interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
Derivado
Implementações

Observações

A IRecordSequence interface fornece uma interface abstrata para um fluxo orientado a registos. Uma instância pode ser usada para ler e escrever registos IRecordSequence de registo.

A IRecordSequence interface oferece as seguintes capacidades,

  • Anexe registos de registo usando os Append métodos.

  • Leia os registos anexados usando o ReadLogRecords método.

  • Escreva um registo especial de reinício usando o WriteRestartArea método.

  • Leia registos de reinício a partir do registo de reinício mais recentemente escrito usando este ReadRestartAreas método.

  • Faça a limpeza dos discos para a loja resistente usando este Flush método.

  • Reserve espaço para anexar registos.

  • Espaço logarítmico livre avançando a base do tronco.

  • Receba TailPinned notificações de eventos para mover a base do registo para espaço livre.

Os registos de registo são anexados a uma IRecordSequence instância, e cada registo de registo recebe um número de sequência único. Os números de sequência aumentam estritamente de forma monótona dentro de uma dada sequência de registos. Um registo de log consiste em dados opacos, fornecidos à IRecordSequence instância num IList dos ArraySegments de bytes.

A IRecordSequence interface também expõe algumas propriedades básicas que fornecem informações sobre os limites logaritários.

  • A BaseSequenceNumber propriedade contém o número de sequência do primeiro registo válido na sequência de registos.

  • A LastSequenceNumber propriedade contém um número de sequência que é garantidamente maior do que o número de sequência do último registo anexado.

  • A RestartSequenceNumber propriedade contém o número de sequência da última área de reinício escrita.

  • A MaximumRecordLength propriedade contém o tamanho do maior registo que pode ser adicionado ou lido a partir da sequência.

  • A ReservedBytes propriedade contém o tamanho total de todas as reservas feitas nesta sequência de registos.

  • Se a RetryAppend propriedade estiver definida para true, e uma Append operação falhar porque não há espaço na sequência, a sequência de registos tentará libertar espaço e tentará novamente a operação Append.

Propriedades

Name Description
BaseSequenceNumber

Quando sobrescrito numa classe derivada, obtém o número de sequência do primeiro registo válido no atual IRecordSequence.

LastSequenceNumber

Quando sobrescrito numa classe derivada, obtém o número de sequência que é maior do que o último registo anexado.

MaximumRecordLength

Quando sobrescrito numa classe derivada, obtém o tamanho do maior registo que pode ser adicionado ou lido a essa sequência, em bytes.

ReservedBytes

Quando sobrescrito numa classe derivada, obtém o número total de bytes que foram reservados.

RestartSequenceNumber

Quando sobrescrito numa classe derivada, obtém o número de sequência da área de reinício mais recentemente escrita.

RetryAppend

Recebe ou define um valor que indica se os anexos são automaticamente retentados se o log estiver cheio.

Métodos

Name Description
AdvanceBaseSequenceNumber(SequenceNumber)

Avança o número base da sequência do log.

Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection)

Quando sobrescrito numa classe derivada, adiciona um registo logarítmico ao IRecordSequence, usando espaço previamente reservado na sequência.

Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions)

Quando sobrescrito numa classe derivada, escreve um registo logarítmico no IRecordSequence.

Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection)

Quando sobrescrito numa classe derivada, adiciona um registo logarítmico ao IRecordSequence, usando espaço previamente reservado na sequência.

Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions)

Quando sobrescrito numa classe derivada, acrescenta um registo logarítmico ao IRecordSequence.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Quando sobreposto numa classe derivada, inicia-se uma operação de anexação assíncrona.

BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Quando sobrescrito numa classe derivada, inicia-se uma operação de adição assíncrona usando espaço previamente reservado na sequência.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)

Quando sobrescrito numa classe derivada, inicia-se uma operação de anexação assíncrona, usando espaço previamente reservado na sequência.

BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)

Quando sobrescrito numa classe derivada, inicia-se uma operação de anexação assíncrona, usando espaço previamente reservado na sequência.

BeginFlush(SequenceNumber, AsyncCallback, Object)

Quando sobreposto numa classe derivada, inicia-se uma operação de flush assíncrona, usando espaço previamente reservado na sequência.

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Quando sobreposto numa classe derivada, inicia-se uma operação assíncrona de reserva e anexação.

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

Quando sobreposto numa classe derivada, inicia-se uma operação assíncrona de reserva e anexação.

BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Quando sobreposto numa classe derivada, inicia-se uma operação de reinício assíncrona de escrita na área, usando espaço previamente reservado na sequência.

BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)

Quando sobreposto numa classe derivada, inicia-se uma operação de reinício assíncrona de escrita na área, usando espaço previamente reservado na sequência.

CreateReservationCollection()

Quando sobreposto numa classe derivada, cria-se um novo ReservationCollection.

Dispose()

Realiza tarefas definidas pela aplicação associadas à libertação, libertação ou reinício de recursos não geridos.

(Herdado de IDisposable)
EndAppend(IAsyncResult)

Quando sobrescrito numa classe derivada, termina uma operação de adição assíncrona.

EndFlush(IAsyncResult)

Quando sobrescrito numa classe derivada, termina uma operação de limpeza assíncrona.

EndReserveAndAppend(IAsyncResult)

Quando sobreposto numa classe derivada, termina uma operação assíncrona de reserva e anexação.

EndWriteRestartArea(IAsyncResult)

Quando sobrescrito numa classe derivada, termina uma operação de reinício assíncrona de escrita na área.

Flush()

Quando sobreposto numa classe derivada, assegura que todos os registos anexados foram escritos.

Flush(SequenceNumber)

Quando sobreposto numa classe derivada, garante que todos os registos anexados até e incluindo o registo com o número de sequência especificado foram escritos de forma duradoura.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

Quando sobreposto numa classe derivada, devolve uma coleção enumerável de registos na sequência.

ReadRestartAreas()

Quando sobrescrito numa classe derivada, devolve uma coleção enumerável das áreas de reinício na sequência.

ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à sequência.

ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])

Quando sobrescrito numa classe derivada, faz automaticamente uma única reserva e acrescenta um registo à sequência.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

Quando sobreposto numa classe derivada, escreve uma área de reinício usando IRecordSequence uma reserva e atualiza o número de sequência base.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Quando sobrescrito numa classe derivada, escreve uma área de reinício no IRecordSequence e atualiza o número de sequência base.

WriteRestartArea(ArraySegment<Byte>)

Quando é sobreposto numa classe derivada, escreve uma área de reinício no IRecordSequence.

WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection)

Quando sobreposto numa classe derivada, escreve uma área de reinício usando IRecordSequence uma reserva e atualiza o número de sequência base.

WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber)

Quando sobrescrito numa classe derivada, escreve uma área de reinício no IRecordSequence e atualiza o número de sequência base.

WriteRestartArea(IList<ArraySegment<Byte>>)

Quando é sobreposto numa classe derivada, escreve uma área de reinício no IRecordSequence.

evento

Name Description
TailPinned

Ocorre quando a sequência de registos determina que a cauda deve ser movida para a frente.

Aplica-se a