IRecordSequence Gränssnitt

Definition

Tillhandahåller ett allmänt gränssnitt för en sekvens med poster.

public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
    interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
Härledda
Implementeringar

Kommentarer

Gränssnittet IRecordSequence ger ett abstrakt gränssnitt till en postorienterad ström. En IRecordSequence instans kan användas för att läsa och skriva loggposter.

Gränssnittet IRecordSequence innehåller följande funktioner,

  • Lägg till loggposter med hjälp av Append metoderna.

  • Läs de bifogade posterna med hjälp av ReadLogRecords metoden .

  • Skriv en särskild omstartspost med hjälp av WriteRestartArea metoden .

  • Läs omstartsposter från den senast skrivna omstartsposten med hjälp av ReadRestartAreas metoden .

  • Töm posterna till ett varaktigt lager med hjälp av Flush metoden .

  • Reservera utrymme för att lägga till poster.

  • Frigör loggutrymme genom att flytta fram loggbasen.

  • Ta emot TailPinned händelsemeddelanden för att flytta loggens bas till ledigt utrymme.

Loggposter läggs till i en IRecordSequence instans och varje loggpost får ett unikt sekvensnummer. Sekvensnummer ökar strikt monotont inom en viss postsekvens. En loggpost består av ogenomskinliga data som skickas till instansen IRecordSequence i en IList av ArraySegments med byte.

Gränssnittet IRecordSequence visar också några grundläggande egenskaper som ger information om logggränser.

  • Egenskapen BaseSequenceNumber innehåller sekvensnumret för den första giltiga posten i postsekvensen.

  • Egenskapen LastSequenceNumber innehåller ett sekvensnummer som garanterat är större än sekvensnumret för den senast tillagd posten.

  • Egenskapen RestartSequenceNumber innehåller sekvensnumret för det senaste skriftliga omstartsområdet.

  • Egenskapen MaximumRecordLength innehåller storleken på den största posten som kan läggas till eller läsas från sekvensen.

  • Egenskapen ReservedBytes innehåller den totala storleken på alla reservationer som görs i den här postsekvensen.

  • Om egenskapen RetryAppend är inställd på true, och en Append åtgärd misslyckas eftersom det inte finns något utrymme i sekvensen, försöker postsekvensen frigöra utrymme och försöka lägga till åtgärden igen.

Egenskaper

Name Description
BaseSequenceNumber

När åsidosättas i en härledd klass hämtar sekvensnumret för den första giltiga posten i den aktuella IRecordSequence.

LastSequenceNumber

När det åsidosättas i en härledd klass hämtar det sekvensnummer som är större än den senaste posten som läggs till.

MaximumRecordLength

När den åsidosätts i en härledd klass får du storleken på den största posten som kan läggas till i eller läsas från den här sekvensen, i byte.

ReservedBytes

När det åsidosätts i en härledd klass hämtar det totala antalet byte som har reserverats.

RestartSequenceNumber

När du åsidosättas i en härledd klass hämtar du sekvensnumret för det senast skrivna omstartsområdet.

RetryAppend

Hämtar eller anger ett värde som anger om tillägg görs om automatiskt om loggen är full.

Metoder

Name Description
AdvanceBaseSequenceNumber(SequenceNumber)

Flyttar loggens bassekvensnummer framåt.

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

När den åsidosätts i en härledd klass lägger du till en loggpost i IRecordSequence, med hjälp av utrymme som tidigare reserverats i sekvensen.

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

När du åsidosättas i en härledd klass skriver du en loggpost till IRecordSequence.

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

När den åsidosätts i en härledd klass lägger du till en loggpost i IRecordSequence, med hjälp av utrymme som tidigare reserverats i sekvensen.

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

När den åsidosätts i en härledd klass lägger du till en loggpost i IRecordSequence.

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

När den åsidosätts i en härledd klass påbörjas en asynkron tilläggsåtgärd.

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

När den åsidosätts i en härledd klass börjar en asynkron tilläggsåtgärd med utrymme som tidigare reserverats i sekvensen.

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

När den åsidosätts i en härledd klass påbörjas en asynkron tilläggsåtgärd med hjälp av utrymme som tidigare reserverats i sekvensen.

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

När den åsidosätts i en härledd klass påbörjas en asynkron tilläggsåtgärd med hjälp av utrymme som tidigare reserverats i sekvensen.

BeginFlush(SequenceNumber, AsyncCallback, Object)

När du åsidosättas i en härledd klass påbörjar du en asynkron tömningsåtgärd med utrymme som tidigare reserverats i sekvensen.

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

När den åsidosätts i en härledd klass börjar en asynkron reserv- och tilläggsåtgärd.

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

När den åsidosätts i en härledd klass börjar en asynkron reserv- och tilläggsåtgärd.

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

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde med hjälp av utrymme som tidigare reserverats i sekvensen.

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

När du åsidosättas i en härledd klass påbörjar du en asynkron skrivåtgärd för omstartsområde med hjälp av utrymme som tidigare reserverats i sekvensen.

CreateReservationCollection()

När du åsidosättas i en härledd klass skapar du en ny ReservationCollection.

Dispose()

Utför programdefinierade uppgifter som är associerade med att frigöra, frigöra eller återställa ohanterade resurser.

(Ärvd från IDisposable)
EndAppend(IAsyncResult)

När den åsidosätts i en härledd klass avslutar du en asynkron tilläggsåtgärd.

EndFlush(IAsyncResult)

När den åsidosättas i en härledd klass avslutar du en asynkron tömningsåtgärd.

EndReserveAndAppend(IAsyncResult)

När den åsidosätts i en härledd klass avslutar du en asynkron reserv- och tilläggsåtgärd.

EndWriteRestartArea(IAsyncResult)

När den åsidosättas i en härledd klass avslutar du en asynkron skrivåtgärd för omstartsområde.

Flush()

När de åsidosätts i en härledd klass ser du till att alla bifogade poster har skrivits.

Flush(SequenceNumber)

När de åsidosätts i en härledd klass ser du till att alla bifogade poster upp till och med posten med det angivna sekvensnumret har skrivits korrekt.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

När den åsidosättas i en härledd klass returnerar en uppräkningsbar samling poster i sekvensen.

ReadRestartAreas()

När den åsidosättas i en härledd klass returnerar en uppräkningsbar samling av omstartsområdena i sekvensen.

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

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

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

När den åsidosätts i en härledd klass gör du automatiskt en enskild reservation och lägger till en post i sekvensen.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

När du åsidosättas i en härledd klass skriver du ett omstartsområde till IRecordSequence med hjälp av en reservation och uppdaterar bassekvensnumret.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

När du åsidosättas i en härledd klass skriver du ett omstartsområde till IRecordSequence och uppdaterar bassekvensnumret.

WriteRestartArea(ArraySegment<Byte>)

När du åsidosättas i en härledd klass skriver du ett omstartsområde till IRecordSequence.

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

När du åsidosättas i en härledd klass skriver du ett omstartsområde till IRecordSequence med hjälp av en reservation och uppdaterar bassekvensnumret.

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

När du åsidosättas i en härledd klass skriver du ett omstartsområde till IRecordSequence och uppdaterar bassekvensnumret.

WriteRestartArea(IList<ArraySegment<Byte>>)

När du åsidosättas i en härledd klass skriver du ett omstartsområde till IRecordSequence.

Händelser

Name Description
TailPinned

Inträffar när postsekvensen avgör att svansen måste flyttas framåt.

Gäller för