IRecordSequence Interfaccia

Definizione

Fornisce un'interfaccia generica per una sequenza di record.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
Derivato
Implementazioni

Commenti

L'interfaccia IRecordSequence fornisce un'interfaccia astratta a un flusso orientato ai record.The IRecordSequence interface provides an abstract interface to a record-oriented stream. Un'istanza IRecordSequence può essere utilizzata per leggere e scrivere record del registro.A IRecordSequence instance can be used to read and write log records.

L'interfaccia IRecordSequence fornisce le funzionalità seguenti:The IRecordSequence interface provides the following capabilities,

  • Accodare record del registro utilizzando i metodi Append.Append log records using the Append methods.

  • Leggere i record accodati utilizzando il metodo ReadLogRecords.Read the appended records using the ReadLogRecords method.

  • Scrivere un record di riavvio speciale utilizzando il metodo WriteRestartArea.Write a special restart record using the WriteRestartArea method.

  • Leggere record di riavvio dal record di riavvio scritto più recentemente utilizzando il metodo ReadRestartAreas.Read restart records from the most recently written restart record using the ReadRestartAreas method.

  • Scaricare i record dell'archivio durevole utilizzando il metodo Flush.Flush the records to durable store using the Flush method.

  • Riservare spazio per l'accodamento di record.Reserve space for appending records.

  • Liberare spazio anticipando la base del log.Free log space by advancing the base of the log.

  • Ricevere notifiche di evento TailPinned per spostare la base del log e liberare spazio.Receive TailPinned event notifications to move the base of the log to free space.

I record del registro vengono accodati a un'istanza IRecordSequence e a ogni record viene assegnato un numero di sequenza univoco.Log records are appended to a IRecordSequence instance, and each log record is given a unique sequence number. I numeri di sequenza sono a incremento progressivo costante all'interno di una determinata sequenza di record.Sequence numbers are strictly monotonically increasing within a given record sequence. Un record del registro è costituito da dati opachi, forniti all'istanza IRecordSequence in un'interfaccia IList di ArraySegments di byte.A log record consists of opaque data, supplied to the IRecordSequence instance in an IList of ArraySegments of bytes.

L'interfaccia IRecordSequence espone anche alcune proprietà di base che forniscono informazioni sui limiti del log.The IRecordSequence interface also exposes a few basic properties which provides information about log boundaries.

  • La proprietà BaseSequenceNumber contiene il numero di sequenza del primo record valido della sequenza.The BaseSequenceNumber property contains the sequence number of the first valid record in the record sequence.

  • La proprietà LastSequenceNumber contiene un numero di sequenza più grande del numero di sequenza dell'ultimo record accodato.The LastSequenceNumber property contains a sequence number that is guaranteed to be larger than the sequence number of the last appended record.

  • La proprietà RestartSequenceNumber contiene il numero di sequenza dell'ultima area di riavvio scritta.The RestartSequenceNumber property contains the sequence number of the last written restart area.

  • La proprietà MaximumRecordLength contiene la dimensione del record più grande che può essere accodato alla sequenza o letto da quest'ultima.The MaximumRecordLength property contains the size of the largest record that can be appended to, or read from the sequence.

  • La proprietà ReservedBytes contiene la dimensione totale di tutte le prenotazioni effettuate in questa sequenza di record.The ReservedBytes property contains the total size of all reservations made in this record sequence.

  • Se la proprietà RetryAppend è impostata su true e un'operazione Append non riesce per mancanza di spazio disponibile nella sequenza, la sequenza di record tenterà di liberare spazio ed eseguirà nuovamente l'operazione di accodamento.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.

Proprietà

BaseSequenceNumber

Quando sottoposto a override in una classe derivata, ottiene il numero di sequenza del primo record valido nell'interfaccia IRecordSequence corrente.When overridden in a derived class, gets the sequence number of the first valid record in the current IRecordSequence.

LastSequenceNumber

Quando sottoposto a override in una classe derivata, ottiene il numero di sequenza maggiore dell'ultimo record accodato.When overridden in a derived class, gets the sequence number which is greater than the last record appended.

MaximumRecordLength

Quando sottoposto a override in una classe derivata, ottiene la dimensione, in byte, del record più grande che può essere accodato in questa sequenza o letto dalla stessa.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

Quando viene sottoposto a override in una classe derivata, ottiene il numero totale di byte che sono stati prenotati.When overridden in a derived class, gets the total number of bytes that have been reserved.

RestartSequenceNumber

Quando sottoposto a override in una classe derivata, ottiene il numero di sequenza dell'area di riavvio scritta più recentemente.When overridden in a derived class, gets the sequence number of the most recently written restart area.

RetryAppend

Ottiene o imposta un valore che indica se le operazioni di accodamento vengono ripetute automaticamente nel caso in cui il log sia pieno.Gets or sets a value indicating whether appends are automatically retried if the log is full.

Metodi

AdvanceBaseSequenceNumber(SequenceNumber)

Sposta in avanti il numero di sequenza di base del log.Moves the base sequence number of the log forward.

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

Quando sottoposto a override in una classe derivata, scrive un record del registro nell'interfaccia IRecordSequence.When overridden in a derived class, writes a log record to the IRecordSequence.

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

Quando viene sottoposto a override in una classe derivata, accoda un record del registro all'interfaccia IRecordSequence utilizzando spazio precedentemente riservato nella sequenza.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)

Quando sottoposto a override in una classe derivata, accoda un record del registro all'interfaccia IRecordSequence.When overridden in a derived class, appends a log record to the IRecordSequence.

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

Quando viene sottoposto a override in una classe derivata, accoda un record del registro all'interfaccia IRecordSequence utilizzando spazio precedentemente riservato nella sequenza.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)

Quando sottoposto a override in una classe derivata, avvia un'operazione di accodamento asincrona.When overridden in a derived class, begins an asynchronous append operation.

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

Quando viene sottoposto a override in una classe derivata, avvia un'operazione di accodamento asincrona utilizzando spazio precedentemente riservato nella sequenza.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)

Quando viene sottoposto a override in una classe derivata, avvia un'operazione di accodamento asincrona utilizzando spazio precedentemente riservato nella sequenza.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)

Quando viene sottoposto a override in una classe derivata, avvia un'operazione di accodamento asincrona utilizzando spazio precedentemente riservato nella sequenza.When overridden in a derived class, begins an asynchronous append operation, using space previously reserved in the sequence.

BeginFlush(SequenceNumber, AsyncCallback, Object)

Quando viene sottoposto a override in una classe derivata, inizia un'operazione di scaricamento asincrono utilizzando spazio precedentemente riservato nella sequenza.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)

Quando sottoposto a override in una classe derivata, avvia un'operazione asincrona di prenotazione e accodamento.When overridden in a derived class, begins an asynchronous reserve and append operation.

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

Quando sottoposto a override in una classe derivata, avvia un'operazione asincrona di prenotazione e accodamento.When overridden in a derived class, begins an asynchronous reserve and append operation.

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

Quando viene sottoposto a override in una classe derivata, inizia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.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)

Quando viene sottoposto a override in una classe derivata, inizia un'operazione asincrona di scrittura dell'area di riavvio utilizzando spazio precedentemente riservato nella sequenza.When overridden in a derived class, begins an asynchronous restart area write operation, using space previously reserved in the sequence.

CreateReservationCollection()

Quando è sottoposto a override in una classe derivata, crea un nuovo elemento ReservationCollection.When overridden in a derived class, creates a new ReservationCollection.

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Ereditato da IDisposable)
EndAppend(IAsyncResult)

Quando sottoposto a override in una classe derivata, termina un'operazione asincrona di accodamento.When overridden in a derived class, ends an asynchronous append operation.

EndFlush(IAsyncResult)

Quando sottoposto a override in una classe derivata, termina un'operazione di scaricamento asincrono.When overridden in a derived class, ends an asynchronous flush operation.

EndReserveAndAppend(IAsyncResult)

Quando sottoposto a override in una classe derivata, termina un'operazione asincrona di prenotazione e accodamento.When overridden in a derived class, ends an asynchronous reserve and append operation.

EndWriteRestartArea(IAsyncResult)

Quando sottoposto a override in una classe derivata, termina un'operazione asincrona di scrittura dell'area di riavvio.When overridden in a derived class, ends an asynchronous restart area write operation.

Flush()

Quando sottoposto a override in una classe derivata, verifica che tutti i record accodati siano stati scritti.When overridden in a derived class, ensures that all appended records have been written.

Flush(SequenceNumber)

Quando sottoposto a override in una classe derivata, verifica che tutti i record accodati fino al record con il numero di sequenza incluso siano stati scritti in modo durevole.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)

Quando sottoposto a override in una classe derivata, restituisce una raccolta enumerabile di record inclusi nella sequenza.When overridden in a derived class, returns an enumerable collection of records in the sequence.

ReadRestartAreas()

Quando sottoposto a override in una classe derivata, restituisce una raccolta enumerabile delle aree di riavvio incluse nella sequenza.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[])

Quando sottoposto a override in una classe derivata, crea automaticamente una sola prenotazione e quindi accoda un record alla sequenza.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[])

Quando sottoposto a override in una classe derivata, crea automaticamente una sola prenotazione e quindi accoda un record alla sequenza.When overridden in a derived class, automatically makes a single reservation and appends a record to the sequence.

WriteRestartArea(ArraySegment<Byte>)

Quando sottoposto a override in una classe derivata, scrive un'area di riavvio nell'interfaccia IRecordSequence.When overridden in a derived class, writes a restart area to the IRecordSequence.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Quando viene sottoposto a override in una classe derivata, scrive un'area di riavvio nell'interfaccia IRecordSequence e aggiorna il numero di sequenza di 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)

Quando viene sottoposto a override in una classe derivata, scrive un'area di riavvio nell'interfaccia IRecordSequence utilizzando una prenotazione e aggiorna il numero di sequenza di 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>>)

Quando sottoposto a override in una classe derivata, scrive un'area di riavvio nell'interfaccia IRecordSequence.When overridden in a derived class, writes a restart area to the IRecordSequence.

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

Quando viene sottoposto a override in una classe derivata, scrive un'area di riavvio nell'interfaccia IRecordSequence e aggiorna il numero di sequenza di 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)

Quando viene sottoposto a override in una classe derivata, scrive un'area di riavvio nell'interfaccia IRecordSequence utilizzando una prenotazione e aggiorna il numero di sequenza di base.When overridden in a derived class, writes a restart area to the IRecordSequence using a reservation, and updates the base sequence number.

Eventi

TailPinned

Si verifica quando la sequenza di record determina che la coda deve essere spostata in avanti.Occurs when the record sequence determines that the tail must be moved forward.

Si applica a