IRecordSequence Interface

Definitie

Biedt een algemene interface voor een reeks records.

public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
    interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
Afgeleid
Implementeringen

Opmerkingen

De IRecordSequence interface biedt een abstracte interface voor een recordgeoriënteerde stream. Een IRecordSequence exemplaar kan worden gebruikt voor het lezen en schrijven van logboekrecords.

De IRecordSequence interface biedt de volgende mogelijkheden,

  • Voeg logboekrecords toe met behulp van de Append methoden.

  • Lees de toegevoegde records met behulp van de ReadLogRecords methode.

  • Schrijf een speciale record voor opnieuw opstarten met behulp van de WriteRestartArea methode.

  • Lees records voor opnieuw opstarten van de laatst geschreven record voor opnieuw opstarten met behulp van de ReadRestartAreas methode.

  • Maak de records leeg in duurzame opslag met behulp van de Flush methode.

  • Reserveer ruimte voor het toevoegen van records.

  • Vrije logboekruimte door naar de basis van het logboek te gaan.

  • Ontvang TailPinned gebeurtenismeldingen om de basis van het logboek te verplaatsen naar vrije ruimte.

Logboekrecords worden toegevoegd aan een IRecordSequence exemplaar en elke logboekrecord krijgt een uniek volgnummer. Reeksnummers worden strikt monotonisch verhoogd binnen een bepaalde recordreeks. Een logboekrecord bestaat uit ondoorzichtige gegevens die aan het IRecordSequence exemplaar worden geleverd in een IList matrixsegment van bytes.

De IRecordSequence interface bevat ook enkele basiseigenschappen die informatie bieden over logboekgrenzen.

  • De BaseSequenceNumber eigenschap bevat het volgnummer van de eerste geldige record in de recordreeks.

  • De LastSequenceNumber eigenschap bevat een volgnummer dat gegarandeerd groter is dan het volgnummer van de laatst toegevoegde record.

  • De RestartSequenceNumber eigenschap bevat het volgnummer van het laatst geschreven herstartgebied.

  • De MaximumRecordLength eigenschap bevat de grootte van de grootste record die kan worden toegevoegd aan of gelezen uit de reeks.

  • De ReservedBytes eigenschap bevat de totale grootte van alle reserveringen die in deze recordreeks zijn gemaakt.

  • Als de RetryAppend eigenschap is ingesteld op trueen een Append bewerking mislukt omdat er geen ruimte in de reeks is, probeert de recordreeks ruimte vrij te maken en voert u de bewerking Toevoegen opnieuw uit.

Eigenschappen

Name Description
BaseSequenceNumber

Wanneer deze wordt overschreven in een afgeleide klasse, wordt het volgnummer van de eerste geldige record in de huidige IRecordSequenceopgevraagd.

LastSequenceNumber

Wanneer deze wordt overschreven in een afgeleide klasse, wordt het volgnummer opgehaald dat groter is dan de laatste record die is toegevoegd.

MaximumRecordLength

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de grootte opgehaald van de grootste record die kan worden toegevoegd aan of gelezen uit deze reeks, in bytes.

ReservedBytes

Wanneer deze wordt overschreven in een afgeleide klasse, haalt u het totale aantal bytes op dat is gereserveerd.

RestartSequenceNumber

Wanneer deze wordt overschreven in een afgeleide klasse, wordt het volgnummer van het laatst geschreven herstartgebied opgevraagd.

RetryAppend

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of toevoegingen automatisch opnieuw worden geprobeerd als het logboek vol is.

Methoden

Name Description
AdvanceBaseSequenceNumber(SequenceNumber)

Hiermee verplaatst u het basisreeksnummer van het logboek vooruit.

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

Wanneer deze wordt overschreven in een afgeleide klasse, voegt u een logboekrecord toe aan de IRecordSequencelogboekrecord met behulp van de ruimte die eerder in de reeks is gereserveerd.

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

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een logboekrecord naar de IRecordSequence.

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

Wanneer deze wordt overschreven in een afgeleide klasse, voegt u een logboekrecord toe aan de IRecordSequencelogboekrecord met behulp van de ruimte die eerder in de reeks is gereserveerd.

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

Wanneer deze wordt overschreven in een afgeleide klasse, voegt u een logboekrecord toe aan de IRecordSequence.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone toevoegbewerking.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone toevoegbewerking met behulp van de ruimte die eerder in de reeks is gereserveerd.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone toevoegbewerking met behulp van de ruimte die eerder in de reeks is gereserveerd.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone toevoegbewerking met behulp van de ruimte die eerder in de reeks is gereserveerd.

BeginFlush(SequenceNumber, AsyncCallback, Object)

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone flush-bewerking met behulp van de ruimte die eerder in de reeks is gereserveerd.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone reserve- en toevoegbewerking.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone reserve- en toevoegbewerking.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone schrijfbewerking voor het herstartgebied met behulp van de eerder gereserveerde ruimte in de reeks.

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

Wanneer deze wordt overschreven in een afgeleide klasse, begint u een asynchrone schrijfbewerking voor het herstartgebied met behulp van de eerder gereserveerde ruimte in de reeks.

CreateReservationCollection()

Wanneer deze wordt overschreven in een afgeleide klasse, maakt u een nieuwe ReservationCollection.

Dispose()

Voert door de toepassing gedefinieerde taken uit die zijn gekoppeld aan het vrijmaken, vrijgeven of opnieuw instellen van onbeheerde resources.

(Overgenomen van IDisposable)
EndAppend(IAsyncResult)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een asynchrone toevoegbewerking beëindigd.

EndFlush(IAsyncResult)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een asynchrone flush-bewerking beëindigd.

EndReserveAndAppend(IAsyncResult)

Wanneer deze wordt overschreven in een afgeleide klasse, beëindigt u een asynchrone reserve- en toevoegbewerking.

EndWriteRestartArea(IAsyncResult)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een asynchrone schrijfbewerking voor het herstartgebied beëindigd.

Flush()

Wanneer deze worden overschreven in een afgeleide klasse, zorgt u ervoor dat alle toegevoegde records zijn geschreven.

Flush(SequenceNumber)

Wanneer deze worden overschreven in een afgeleide klasse, zorgt u ervoor dat alle toegevoegde records tot en met de record met het opgegeven volgnummer blijvend zijn geschreven.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

Wanneer deze worden overschreven in een afgeleide klasse, retourneert u een opsommingsbare verzameling records in de reeks.

ReadRestartAreas()

Wanneer deze worden overschreven in een afgeleide klasse, retourneert u een inventariserbare verzameling van de herstartgebieden in de reeks.

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

Wanneer deze wordt overschreven in een afgeleide klasse, maakt u automatisch één reservering en voegt u een record toe aan de reeks.

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

Wanneer deze wordt overschreven in een afgeleide klasse, maakt u automatisch één reservering en voegt u een record toe aan de reeks.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een herstartgebied naar het IRecordSequence gebruik van een reservering en werkt u het basisreeksnummer bij.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een herstartgebied naar het IRecordSequence basisreeksnummer en werkt u het basisreeksnummer bij.

WriteRestartArea(ArraySegment<Byte>)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een herstartgebied naar de IRecordSequence.

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

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een herstartgebied naar het IRecordSequence gebruik van een reservering en werkt u het basisreeksnummer bij.

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

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een herstartgebied naar het IRecordSequence basisreeksnummer en werkt u het basisreeksnummer bij.

WriteRestartArea(IList<ArraySegment<Byte>>)

Wanneer deze wordt overschreven in een afgeleide klasse, schrijft u een herstartgebied naar de IRecordSequence.

gebeurtenis

Name Description
TailPinned

Treedt op wanneer de recordreeks bepaalt dat de staart naar voren moet worden verplaatst.

Van toepassing op