IRecordSequence IRecordSequence IRecordSequence IRecordSequence Interface

Definición

Proporciona una interfaz genérica a una secuencia de registros.Provides a generic interface to a sequence of records.

public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
    interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
Derivado
Implementaciones

Comentarios

La interfaz IRecordSequence proporciona una interfaz abstracta a una secuencia orientada a registro.The IRecordSequence interface provides an abstract interface to a record-oriented stream. Una instancia IRecordSequence se puede utilizar para leer y escribir las entradas de registro.A IRecordSequence instance can be used to read and write log records.

La interfaz IRecordSequence proporciona las siguientes capacidades:The IRecordSequence interface provides the following capabilities,

  • Anexe entradas de registro mediante los métodos Append.Append log records using the Append methods.

  • Lea los registros anexados mediante el método ReadLogRecords.Read the appended records using the ReadLogRecords method.

  • Escriba un registro del reinicio especial mediante el método WriteRestartArea.Write a special restart record using the WriteRestartArea method.

  • Lea los registros del reinicio del registro del reinicio recientemente escrito utilizando el método ReadRestartAreas.Read restart records from the most recently written restart record using the ReadRestartAreas method.

  • Vacíe los registros al almacén duradero utilizando el método Flush.Flush the records to durable store using the Flush method.

  • Reserve el espacio para anexar los registros.Reserve space for appending records.

  • Espacio del registro libre al avanzar la base del registro.Free log space by advancing the base of the log.

  • Reciba las notificaciones de eventos TailPinned para mover la base del registro al espacio disponible.Receive TailPinned event notifications to move the base of the log to free space.

Las entradas de registro se anexan a una instancia IRecordSequence y a cada entrada de registro se le proporciona un número de secuencia único.Log records are appended to a IRecordSequence instance, and each log record is given a unique sequence number. Los números de la secuencia son estricta y monótonamente crecientes dentro de una secuencia de registros determinada.Sequence numbers are strictly monotonically increasing within a given record sequence. Una entrada de registro está compuesta de datos opacos, que se proporcionan a la instancia de IRecordSequence en una IList de ArraySegments de bytes.A log record consists of opaque data, supplied to the IRecordSequence instance in an IList of ArraySegments of bytes.

La interfaz IRecordSequence también expone algunas propiedades básicas que proporcionan información sobre los límites del registro.The IRecordSequence interface also exposes a few basic properties which provides information about log boundaries.

  • La propiedad BaseSequenceNumber contiene el número de secuencia del primer registro válido en la secuencia del registro.The BaseSequenceNumber property contains the sequence number of the first valid record in the record sequence.

  • La propiedad LastSequenceNumber contiene un número de secuencia que se garantiza para ser mayor que el número de secuencia del último registro anexado.The LastSequenceNumber property contains a sequence number that is guaranteed to be larger than the sequence number of the last appended record.

  • La propiedad RestartSequenceNumber contiene el número de secuencia del último área de reinicio escrita.The RestartSequenceNumber property contains the sequence number of the last written restart area.

  • La propiedad MaximumRecordLength contiene el tamaño del mayor registro al que se puede anexar o lee de la secuencia.The MaximumRecordLength property contains the size of the largest record that can be appended to, or read from the sequence.

  • La propiedad ReservedBytes contiene el tamaño total de todas las reservas realizadas en esta secuencia del registro.The ReservedBytes property contains the total size of all reservations made in this record sequence.

  • Si la propiedad RetryAppend está establecida en true, y una operación Append no puede realizarse porque no hay ningún espacio en la secuencia, la secuencia del registro intentará liberar espacio y reintentará la operación de anexado.If the RetryAppend property is set to true, and an Append operation fails because there is no space in the sequence, the record sequence will attempt to free space, and retry the Append operation.

Propiedades

BaseSequenceNumber BaseSequenceNumber BaseSequenceNumber BaseSequenceNumber

Cuando se invalida en una clase derivada, obtiene el número de secuencia del primer registro válido en el IRecordSequenceactual.When overridden in a derived class, gets the sequence number of the first valid record in the current IRecordSequence.

LastSequenceNumber LastSequenceNumber LastSequenceNumber LastSequenceNumber

Cuando se invalida en una clase derivada, obtiene el número de secuencia que es mayor que el último registro que se anexó.When overridden in a derived class, gets the sequence number which is greater than the last record appended.

MaximumRecordLength MaximumRecordLength MaximumRecordLength MaximumRecordLength

Cuando se invalida en una clase derivada, obtiene el tamaño del registro más grande que se puede anexar a, o que puede leerse de esta secuencia, en bytes.When overridden in a derived class, gets the size of the largest record that can be appended to or read from this sequence, in bytes.

ReservedBytes ReservedBytes ReservedBytes ReservedBytes

Cuando se invalida en una clase derivada, obtiene el número total de bytes que se han reservado.When overridden in a derived class, gets the total number of bytes that have been reserved.

RestartSequenceNumber RestartSequenceNumber RestartSequenceNumber RestartSequenceNumber

Cuando se invalida en una clase derivada, obtiene el número de secuencia del área de reinicio recientemente escrita.When overridden in a derived class, gets the sequence number of the most recently written restart area.

RetryAppend RetryAppend RetryAppend RetryAppend

Obtiene o establece un valor que indica si los anexos se reintentan automáticamente en caso de que el registro esté completo.Gets or sets a value indicating whether appends are automatically retried if the log is full.

Métodos

AdvanceBaseSequenceNumber(SequenceNumber) AdvanceBaseSequenceNumber(SequenceNumber) AdvanceBaseSequenceNumber(SequenceNumber) AdvanceBaseSequenceNumber(SequenceNumber)

Avanza el número de secuencia base del registro.Moves the base sequence number of the log forward.

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

Cuando se invalida en una clase derivada, escribe una entrada de registro en IRecordSequence.When overridden in a derived class, writes a log record to the IRecordSequence.

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

Cuando se invalida en una clase derivada, anexa una entrada de registro a IRecordSequence, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, appends a log record to the IRecordSequence, using space previously reserved in the sequence.

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

Cuando se invalida en una clase derivada, anexa una entrada de registro en IRecordSequence.When overridden in a derived class, appends a log record to the IRecordSequence.

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

Cuando se invalida en una clase derivada, anexa una entrada de registro a IRecordSequence, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, appends a log record to the IRecordSequence, using space previously reserved in the sequence.

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

Cuando se invalida en una clase derivada, comienza una operación de anexo asincrónica.When overridden in a derived class, begins an asynchronous append operation.

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

Cuando se invalida en una clase derivada, comienza una operación de anexado asincrónica, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, begins an asynchronous append operation using space previously reserved in the sequence.

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

Cuando se invalida en una clase derivada, comienza una operación de anexado asincrónica, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, begins an asynchronous append operation, using space previously reserved in the sequence.

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

Cuando se invalida en una clase derivada, comienza una operación de anexado asincrónica, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, begins an asynchronous append operation, using space previously reserved in the sequence.

BeginFlush(SequenceNumber, AsyncCallback, Object) BeginFlush(SequenceNumber, AsyncCallback, Object) BeginFlush(SequenceNumber, AsyncCallback, Object) BeginFlush(SequenceNumber, AsyncCallback, Object)

Cuando se invalida en una clase derivada, comienza una operación de vaciado asincrónica, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, begins an asynchronous flush operation, using space previously reserved in the sequence.

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

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

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

Cuando se invalida en una clase derivada, comienza una operación de reserva asincrónica y de anexado.When overridden in a derived class, begins an asynchronous reserve and append operation.

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

Cuando se invalida en una clase derivada, comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

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

Cuando se invalida en una clase derivada, comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio previamente reservado en la secuencia.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

CreateReservationCollection() CreateReservationCollection() CreateReservationCollection() CreateReservationCollection()

Cuando se reemplaza en una clase derivada, se crea un nuevo objeto ReservationCollection.When overridden in a derived class, creates a new ReservationCollection.

Dispose() Dispose() Dispose() Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from IDisposable)
EndAppend(IAsyncResult) EndAppend(IAsyncResult) EndAppend(IAsyncResult) EndAppend(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de anexo asincrónica.When overridden in a derived class, ends an asynchronous append operation.

EndFlush(IAsyncResult) EndFlush(IAsyncResult) EndFlush(IAsyncResult) EndFlush(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de vaciado asincrónica.When overridden in a derived class, ends an asynchronous flush operation.

EndReserveAndAppend(IAsyncResult) EndReserveAndAppend(IAsyncResult) EndReserveAndAppend(IAsyncResult) EndReserveAndAppend(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de reserva asincrónica y de anexado.When overridden in a derived class, ends an asynchronous reserve and append operation.

EndWriteRestartArea(IAsyncResult) EndWriteRestartArea(IAsyncResult) EndWriteRestartArea(IAsyncResult) EndWriteRestartArea(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de escritura de área de reinicio asincrónica.When overridden in a derived class, ends an asynchronous restart area write operation.

Flush() Flush() Flush() Flush()

Cuando se invalida en una clase derivada, asegura que todos los registros anexados se han escrito.When overridden in a derived class, ensures that all appended records have been written.

Flush(SequenceNumber) Flush(SequenceNumber) Flush(SequenceNumber) Flush(SequenceNumber)

Cuando se invalida en una clase derivada, garantiza que todos los registros anexados hasta el registro con el número de secuencia especificado, incluido éste, se han escrito de manera duradera.When overridden in a derived class, ensures that all appended records up to and including the record with the specified sequence number have been durably written.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType) ReadLogRecords(SequenceNumber, LogRecordEnumeratorType) ReadLogRecords(SequenceNumber, LogRecordEnumeratorType) ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

Cuando se invalida en una clase derivada, devuelve una colección enumerable de registros en la secuencia.When overridden in a derived class, returns an enumerable collection of records in the sequence.

ReadRestartAreas() ReadRestartAreas() ReadRestartAreas() ReadRestartAreas()

Cuando se invalida en una clase derivada, devuelve una colección enumerable de las áreas de reinicio en la secuencia.When overridden in a derived class, returns an enumerable collection of the restart areas in the sequence.

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

Cuando se invalida en una clase derivada, automáticamente realiza una reserva única y anexa un registro a la secuencia.When overridden in a derived class, automatically makes a single reservation and appends a record to the sequence.

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

Cuando se invalida en una clase derivada, automáticamente realiza una reserva única y anexa un registro a la secuencia.When overridden in a derived class, automatically makes a single reservation and appends a record to the sequence.

WriteRestartArea(ArraySegment<Byte>) WriteRestartArea(ArraySegment<Byte>) WriteRestartArea(ArraySegment<Byte>) WriteRestartArea(ArraySegment<Byte>)

Cuando se invalida en una clase derivada, escribe un área de reinicio aIRecordSequence.When overridden in a derived class, writes a restart area to the IRecordSequence.

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

Cuando se invalida en una clase derivada, se escribe un área de reinicio aIRecordSequence y se actualiza el número de secuencia base.When overridden in a derived class, writes a restart area to the IRecordSequence and updates the base sequence number

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

Cuando se invalida en una clase derivada, escribe un área de reinicio en IRecordSequence mediante una reserva, y actualiza el número de secuencia base.When overridden in a derived class, writes a restart area to the IRecordSequence using a reservation, and updates the base sequence number

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

Cuando se invalida en una clase derivada, escribe un área de reinicio aIRecordSequence.When overridden in a derived class, writes a restart area to the IRecordSequence.

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

Cuando se invalida en una clase derivada, escribe un área de reinicio en IRecordSequence y actualiza el número de secuencia base.When overridden in a derived class, writes a restart area to the IRecordSequence and updates the base sequence number.

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

Cuando se invalida en una clase derivada, escribe un área de reinicio en IRecordSequence mediante una reserva y se actualiza el número de secuencia base.When overridden in a derived class, writes a restart area to the IRecordSequence using a reservation, and updates the base sequence number.

Eventos

TailPinned TailPinned TailPinned TailPinned

Se produce cuando la secuencia del registro determina que se debe avanzar la cola.Occurs when the record sequence determines that the tail must be moved forward.

Se aplica a