IRecordSequence Interfaz

Definición

Proporciona una interfaz genérica a una secuencia de registros.

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. Una instancia IRecordSequence se puede utilizar para leer y escribir las entradas de registro.

La interfaz IRecordSequence proporciona las siguientes capacidades:

  • Anexe entradas de registro mediante los métodos Append.

  • Lea los registros anexados mediante el método ReadLogRecords.

  • Escriba un registro del reinicio especial mediante el método WriteRestartArea.

  • Lea los registros del reinicio del registro del reinicio recientemente escrito utilizando el método ReadRestartAreas.

  • Vacíe los registros en un almacén duradero mediante el Flush método .

  • Reserve el espacio para anexar los registros.

  • Espacio del registro libre al avanzar la base del registro.

  • Reciba las notificaciones de eventos TailPinned para mover la base del registro al espacio disponible.

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. Los números de la secuencia son estricta y monótonamente crecientes dentro de una secuencia de registros determinada. Una entrada de registro está compuesta de datos opacos, que se proporcionan a la instancia de IRecordSequence en una IList de ArraySegments de bytes.

La interfaz IRecordSequence también expone algunas propiedades básicas que proporcionan información sobre los límites del registro.

  • La propiedad BaseSequenceNumber contiene el número de secuencia del primer registro válido en la secuencia del registro.

  • 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.

  • La propiedad RestartSequenceNumber contiene el número de secuencia del último área de reinicio escrita.

  • La propiedad MaximumRecordLength contiene el tamaño del mayor registro al que se puede anexar o lee de la secuencia.

  • La propiedad ReservedBytes contiene el tamaño total de todas las reservas realizadas en esta secuencia del registro.

  • 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.

Propiedades

BaseSequenceNumber

Cuando se invalida en una clase derivada, obtiene el número de secuencia del primer registro válido en el IRecordSequenceactual.

LastSequenceNumber

Cuando se invalida en una clase derivada, obtiene el número de secuencia que es mayor que el último registro que se anexó.

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.

ReservedBytes

Cuando se invalida en una clase derivada, obtiene el número total de bytes que se han reservado.

RestartSequenceNumber

Cuando se invalida en una clase derivada, obtiene el número de secuencia del área de reinicio recientemente escrita.

RetryAppend

Obtiene o establece un valor que indica si los anexos se reintentan automáticamente en caso de que el registro esté completo.

Métodos

AdvanceBaseSequenceNumber(SequenceNumber)

Avanza el número de secuencia base del registro.

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

Cuando se invalida en una clase derivada, escribe una entrada de registro en IRecordSequence.

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.

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

Cuando se invalida en una clase derivada, anexa una entrada de registro en IRecordSequence.

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.

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

Cuando se invalida en una clase derivada, comienza una operación de anexo asincrónica.

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.

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.

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.

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.

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.

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.

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.

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.

CreateReservationCollection()

Cuando se reemplaza en una clase derivada, se crea un nuevo objeto ReservationCollection.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

(Heredado de IDisposable)
EndAppend(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de anexo asincrónica.

EndFlush(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de vaciado asincrónica.

EndReserveAndAppend(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de reserva asincrónica y de anexado.

EndWriteRestartArea(IAsyncResult)

Cuando se invalida en una clase derivada, finaliza una operación de escritura de área de reinicio asincrónica.

Flush()

Cuando se invalida en una clase derivada, asegura que todos los registros anexados se han escrito.

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.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

Cuando se invalida en una clase derivada, devuelve una colección enumerable de registros en la secuencia.

ReadRestartAreas()

Cuando se invalida en una clase derivada, devuelve una colección enumerable de las áreas de reinicio en la secuencia.

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.

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.

WriteRestartArea(ArraySegment<Byte>)

Cuando se invalida en una clase derivada, escribe un área de reinicio aIRecordSequence.

WriteRestartArea(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.

WriteRestartArea(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.

WriteRestartArea(IList<ArraySegment<Byte>>)

Cuando se invalida en una clase derivada, escribe un área de reinicio aIRecordSequence.

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.

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.

Eventos

TailPinned

Se produce cuando la secuencia del registro determina que se debe avanzar la cola.

Se aplica a