IRecordSequence Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma interface genérica para uma sequência de registros.
public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
- Derivado
- Implementações
Comentários
A IRecordSequence interface fornece uma interface abstrata para um fluxo orientado a registros. Uma IRecordSequence instância pode ser usada para ler e gravar registros de log.
A IRecordSequence interface fornece os seguintes recursos,
Acrescente registros de log usando os Append métodos.
Leia os registros acrescentados usando o ReadLogRecords método.
Escreva um registro de reinicialização especial usando o WriteRestartArea método.
Leia os registros de reinicialização do registro de reinicialização gravado mais recentemente usando o ReadRestartAreas método.
Libere os registros para o repositório durável usando o Flush método.
Reserve espaço para acrescentar registros.
Liberar espaço de log avançando na base do log.
Receba TailPinned notificações de evento para mover a base do log para o espaço livre.
Os registros de log são acrescentados a uma IRecordSequence instância e cada registro de log recebe um número de sequência exclusivo. Os números de sequência estão aumentando estritamente monotonicamente dentro de uma determinada sequência de registros. Um registro de log consiste em dados opacos, fornecidos para a IRecordSequence instância em um IList arraySegments de bytes.
A IRecordSequence interface também expõe algumas propriedades básicas que fornecem informações sobre limites de log.
A BaseSequenceNumber propriedade contém o número de sequência do primeiro registro válido na sequência de registros.
A LastSequenceNumber propriedade contém um número de sequência que tem a garantia de ser maior que o número de sequência do último registro acrescentado.
A RestartSequenceNumber propriedade contém o número de sequência da última área de reinicialização gravada.
A MaximumRecordLength propriedade contém o tamanho do maior registro que pode ser acrescentado ou lido da sequência.
A ReservedBytes propriedade contém o tamanho total de todas as reservas feitas nesta sequência de registros.
Se a RetryAppend propriedade estiver definida como
true, e uma Append operação falhar porque não há espaço na sequência, a sequência de registros tentará liberar espaço e tentará novamente a operação Append.
Propriedades
| Nome | Description |
|---|---|
| BaseSequenceNumber |
Quando substituído em uma classe derivada, obtém o número de sequência do primeiro registro válido no atual IRecordSequence. |
| LastSequenceNumber |
Quando substituído em uma classe derivada, obtém o número de sequência maior que o último registro acrescentado. |
| MaximumRecordLength |
Quando substituído em uma classe derivada, obtém o tamanho do maior registro que pode ser acrescentado ou lido dessa sequência, em bytes. |
| ReservedBytes |
Quando substituído em uma classe derivada, obtém o número total de bytes que foram reservados. |
| RestartSequenceNumber |
Quando substituído em uma classe derivada, obtém o número de sequência da área de reinicialização gravada mais recentemente. |
| RetryAppend |
Obtém ou define um valor que indica se os acréscimos são repetidos automaticamente se o log estiver cheio. |
Métodos
| Nome | Description |
|---|---|
| AdvanceBaseSequenceNumber(SequenceNumber) |
Move o número de sequência base do log para frente. |
| Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection) |
Quando substituído em uma classe derivada, acrescenta um registro de log ao , usando o IRecordSequenceespaço anteriormente reservado na sequência. |
| Append(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions) |
Quando substituído em uma classe derivada, grava um registro de log no IRecordSequence. |
| Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection) |
Quando substituído em uma classe derivada, acrescenta um registro de log ao , usando o IRecordSequenceespaço anteriormente reservado na sequência. |
| Append(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions) |
Quando substituído em uma classe derivada, acrescenta um registro de log ao IRecordSequence. |
| BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de acréscimo assíncrona. |
| BeginAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de acréscimo assíncrona usando o espaço previamente reservado na sequência. |
| BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de acréscimo assíncrona, usando o espaço previamente reservado na sequência. |
| BeginAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de acréscimo assíncrona, usando o espaço previamente reservado na sequência. |
| BeginFlush(SequenceNumber, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de liberação assíncrona, usando o espaço previamente reservado na sequência. |
| BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de reserva e acréscimo assíncrona. |
| BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de reserva e acréscimo assíncrona. |
| BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de gravação de área de reinicialização assíncrona, usando o espaço anteriormente reservado na sequência. |
| BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Quando substituído em uma classe derivada, inicia uma operação de gravação de área de reinicialização assíncrona, usando o espaço anteriormente reservado na sequência. |
| CreateReservationCollection() |
Quando substituído em uma classe derivada, cria um novo ReservationCollection. |
| Dispose() |
Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados. (Herdado de IDisposable) |
| EndAppend(IAsyncResult) |
Quando substituído em uma classe derivada, termina uma operação de acréscimo assíncrona. |
| EndFlush(IAsyncResult) |
Quando substituído em uma classe derivada, termina uma operação de liberação assíncrona. |
| EndReserveAndAppend(IAsyncResult) |
Quando substituído em uma classe derivada, termina uma operação de reserva e acréscimo assíncrona. |
| EndWriteRestartArea(IAsyncResult) |
Quando substituído em uma classe derivada, encerra uma operação de gravação de área de reinicialização assíncrona. |
| Flush() |
Quando substituído em uma classe derivada, garante que todos os registros acrescentados tenham sido gravados. |
| Flush(SequenceNumber) |
Quando substituído em uma classe derivada, garante que todos os registros acrescentados até e incluindo o registro com o número de sequência especificado tenham sido gravados duravelmente. |
| ReadLogRecords(SequenceNumber, LogRecordEnumeratorType) |
Quando substituído em uma classe derivada, retorna uma coleção enumerável de registros na sequência. |
| ReadRestartAreas() |
Quando substituído em uma classe derivada, retorna uma coleção enumerável das áreas de reinicialização na sequência. |
| ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Quando substituído em uma classe derivada, automaticamente faz uma única reserva e acrescenta um registro à sequência. |
| ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Quando substituído em uma classe derivada, automaticamente faz uma única reserva e acrescenta um registro à sequência. |
| WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection) |
Quando substituído em uma classe derivada, grava uma área de reinicialização no IRecordSequence uso de uma reserva e atualiza o número de sequência base. |
| WriteRestartArea(ArraySegment<Byte>, SequenceNumber) |
Quando substituído em uma classe derivada, grava uma área IRecordSequence de reinicialização e atualiza o número de sequência base. |
| WriteRestartArea(ArraySegment<Byte>) |
Quando substituído em uma classe derivada, grava uma área de reinicialização no IRecordSequence. |
| WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection) |
Quando substituído em uma classe derivada, grava uma área de reinicialização no IRecordSequence uso de uma reserva e atualiza o número de sequência base. |
| WriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber) |
Quando substituído em uma classe derivada, grava uma área IRecordSequence de reinicialização e atualiza o número de sequência base. |
| WriteRestartArea(IList<ArraySegment<Byte>>) |
Quando substituído em uma classe derivada, grava uma área de reinicialização no IRecordSequence. |
Eventos
| Nome | Description |
|---|---|
| TailPinned |
Ocorre quando a sequência de registros determina que a cauda deve ser movida para frente. |