IRecordSequence.ReserveAndAppend Metodo

Definizione

Quando sottoposto a override in una classe derivata, crea automaticamente una sola prenotazione e quindi accoda un record alla sequenza.

Overload

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.

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.

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.

public:
 System::IO::Log::SequenceNumber ReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Parametri

data
ArraySegment<Byte>

Elenco di segmenti della matrice di byte che verranno concatenati e accodati come record.

nextUndoRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine specificato dall'utente.

previousRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine Precedente.

recordAppendOptions
RecordAppendOptions

Valore valido di RecordAppendOptions che specifica la modalità da utilizzare per la scrittura dei dati.

reservationCollection
ReservationCollection

Classe ReservationCollection che contiene la raccolta in cui effettuare prenotazioni.

reservations
Int64[]

Prenotazioni da fare, in byte.

Restituisce

Numero di sequenza del record di registro accodato.

Eccezioni

Uno o più argomenti non sono validi.

Si è verificato un errore di I/O durante l'accodamento del record.

La sequenza di record non ha potuto fare abbastanza spazio per contenere il nuovo record, o fare la prenotazione.

Il metodo è stato chiamato dopo l'eliminazione sequenza.

Commenti

I dati contenuti nel parametro data verranno concatenati in una matrice a byte singolo per essere quindi accodati come record. Tuttavia, non esiste alcun provisioning per suddividere dati in segmenti della matrice una volta letto il record.

Le prenotazioni specificate vengono aggiunte alla raccolta di prenotazioni fornita mediante un'operazione atomica con un'operazione di accodamento record. Se l'accodamento non riesce, non verrà riservato alcuno spazio.

In genere questo metodo può essere completato prima che il record sia stato scritto. Per garantire che un record è stato scritto, specificare il flag ForceFlush utilizzando il parametro recordAppendOptions oppure chiamare il metodo Flush.

Si applica a

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.

public:
 System::IO::Log::SequenceNumber ReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, ... cli::array <long> ^ reservations);
public System.IO.Log.SequenceNumber ReserveAndAppend (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber

Parametri

data
IList<ArraySegment<Byte>>

Elenco di segmenti della matrice di byte che verranno concatenati e accodati come record.

nextUndoRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine specificato dall'utente.

previousRecord
SequenceNumber

Numero di sequenza del record successivo nell'ordine Precedente.

recordAppendOptions
RecordAppendOptions

Valore valido di RecordAppendOptions che specifica la modalità da utilizzare per la scrittura dei dati.

reservationCollection
ReservationCollection

raccolta di prenotazioni nella quale fare prenotazioni.

reservations
Int64[]

Prenotazioni da fare, in byte.

Restituisce

Numero di sequenza del record di registro accodato.

Eccezioni

Uno o più argomenti non sono validi.

Si è verificato un errore di I/O durante l'accodamento del record.

La sequenza di record non ha potuto fare abbastanza spazio per contenere il nuovo record, o fare la prenotazione.

Il metodo è stato chiamato dopo l'eliminazione sequenza.

Commenti

I dati contenuti nel parametro data verranno concatenati in una matrice a byte singolo per essere quindi accodati come record. Tuttavia, non esiste alcun provisioning per suddividere dati in segmenti della matrice una volta letto il record.

Le prenotazioni specificate vengono aggiunte alla raccolta di prenotazioni fornita mediante un'operazione atomica con un'operazione di accodamento record. Se l'accodamento non riesce, non verrà riservato alcuno spazio.

In genere questo metodo può essere completato prima che il record sia stato scritto. Per garantire che un record è stato scritto, specificare il flag ForceFlush utilizzando il parametro recordAppendOptions oppure chiamare il metodo Flush.

Si applica a