IRecordSequence Arabirim

Tanım

Bir kayıt dizisi için genel bir arabirim sağlar.

public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
    interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
Türetilmiş
Uygulamalar

Açıklamalar

Arabirimi IRecordSequence , kayıt odaklı bir akış için soyut bir arabirim sağlar. Günlük IRecordSequence kayıtlarını okumak ve yazmak için bir örnek kullanılabilir.

IRecordSequence arabirimi aşağıdaki özellikleri sağlar,

  • Yöntemleri kullanarak Append günlük kayıtlarını ekleyin.

  • yöntemini kullanarak ReadLogRecords eklenen kayıtları okuyun.

  • yöntemini kullanarak WriteRestartArea özel bir yeniden başlatma kaydı yazın.

  • yöntemini kullanarak ReadRestartAreas en son yazılan yeniden başlatma kaydındaki yeniden başlatma kayıtlarını okuyun.

  • yöntemini kullanarak kayıtları dayanıklı depoya boşaltın Flush .

  • Kayıtları eklemek için yer ayırın.

  • Günlüğün tabanını ilerleterek boş günlük alanı.

  • Günlüğün tabanını boş alana taşımak için olay bildirimleri alın TailPinned .

Günlük kayıtları bir IRecordSequence örneğe eklenir ve her günlük kaydına benzersiz bir sıra numarası verilir. Sıra numaraları, belirli bir kayıt dizisinde monoton olarak artar. Günlük kaydı, bayt dizileri içinde örneğe IRecordSequenceIList sağlanan opak verilerden oluşur.

Arabirim IRecordSequence ayrıca günlük sınırları hakkında bilgi sağlayan birkaç temel özelliği de kullanıma sunar.

  • özelliği, BaseSequenceNumber kayıt dizisindeki ilk geçerli kaydın sıra numarasını içerir.

  • özelliği, LastSequenceNumber son eklenen kaydın sıra numarasından daha büyük olması garanti edilen bir sıra numarası içerir.

  • özelliği, RestartSequenceNumber son yazılan yeniden başlatma alanının sıra numarasını içerir.

  • MaximumRecordLength özelliği, diziye eklenebilen veya diziden okunabilecek en büyük kaydın boyutunu içerir.

  • özelliği, ReservedBytes bu kayıt dizisinde yapılan tüm rezervasyonların toplam boyutunu içerir.

  • RetryAppend özelliği olarak trueayarlanırsa ve dizide yer olmadığı için bir Append işlem başarısız olursa, kayıt dizisi alan boşaltmayı dener ve Ekleme işlemini yeniden dener.

Özellikler

BaseSequenceNumber

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli IRecordSequenceiçindeki ilk geçerli kaydın sıra numarasını alır.

LastSequenceNumber

Türetilmiş bir sınıfta geçersiz kılındığında, eklenen son kayıttan daha büyük olan sıra numarasını alır.

MaximumRecordLength

Türetilmiş bir sınıfta geçersiz kılındığında, bayt cinsinden bu diziye eklenebilen veya bu diziden okunabilecek en büyük kaydın boyutunu alır.

ReservedBytes

Türetilmiş bir sınıfta geçersiz kılındığında, ayrılmış toplam bayt sayısını alır.

RestartSequenceNumber

Türetilmiş bir sınıfta geçersiz kılındığında, en son yazılan yeniden başlatma alanının sıra numarasını alır.

RetryAppend

Günlük doluysa eklemelerin otomatik olarak yeniden denenip denenmeyeceğini belirten bir değer alır veya ayarlar.

Yöntemler

AdvanceBaseSequenceNumber(SequenceNumber)

Günlüğün temel sıra numarasını ileri taşır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, öğesine bir günlük kaydı IRecordSequenceyazar.

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

Türetilmiş bir sınıfta geçersiz kılındığında, dizide daha önce ayrılmış alanı kullanarak bir günlük kaydını IRecordSequenceöğesine ekler.

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

Türetilmiş bir sınıfta geçersiz kılındığında, bir günlük kaydını öğesine IRecordSequenceekler.

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

Türetilmiş bir sınıfta geçersiz kılındığında, dizide daha önce ayrılmış alanı kullanarak bir günlük kaydını IRecordSequenceöğesine ekler.

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

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz bir ekleme işlemi başlar.

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

Türetilmiş bir sınıfta geçersiz kılındığında, daha önce dizide ayrılmış olan alanı kullanarak zaman uyumsuz bir ekleme işlemi başlatır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, daha önce dizide ayrılmış olan alanı kullanarak zaman uyumsuz bir ekleme işlemi başlatır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, daha önce dizide ayrılmış olan alanı kullanarak zaman uyumsuz bir ekleme işlemi başlatır.

BeginFlush(SequenceNumber, AsyncCallback, Object)

Türetilmiş bir sınıfta geçersiz kılındığında, dizide daha önce ayrılmış alanı kullanarak zaman uyumsuz bir temizleme işlemi başlatır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz bir ayırma ve ekleme işlemi başlar.

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

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz bir ayırma ve ekleme işlemi başlar.

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

Türetilmiş bir sınıfta geçersiz kılındığında, dizide daha önce ayrılmış alanı kullanarak zaman uyumsuz bir yeniden başlatma alanı yazma işlemi başlatır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, dizide daha önce ayrılmış alanı kullanarak zaman uyumsuz bir yeniden başlatma alanı yazma işlemi başlatır.

CreateReservationCollection()

Türetilmiş bir sınıfta geçersiz kılındığında yeni ReservationCollectionbir oluşturur.

Dispose()

Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir.

(Devralındığı yer: IDisposable)
EndAppend(IAsyncResult)

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz ekleme işlemini sonlandırır.

EndFlush(IAsyncResult)

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz temizleme işlemini sonlandırır.

EndReserveAndAppend(IAsyncResult)

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz bir ayırma ve ekleme işlemini sonlandırır.

EndWriteRestartArea(IAsyncResult)

Türetilmiş bir sınıfta geçersiz kılındığında, zaman uyumsuz bir yeniden başlatma alanı yazma işlemini sonlandırır.

Flush()

Türetilmiş bir sınıfta geçersiz kılındığında, eklenen tüm kayıtların yazıldığından emin olur.

Flush(SequenceNumber)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen sıra numarasına sahip kayıt dahil olmak üzere sonuna eklenen tüm kayıtların sağlam bir şekilde yazılmasını sağlar.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

Türetilmiş bir sınıfta geçersiz kılındığında, dizideki listelenebilir bir kayıt koleksiyonu döndürür.

ReadRestartAreas()

Türetilmiş bir sınıfta geçersiz kılındığında, dizideki yeniden başlatma alanlarının numaralandırılabilir bir koleksiyonunu döndürür.

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

Türetilmiş bir sınıfta geçersiz kılındığında, otomatik olarak tek bir rezervasyon yapar ve bir kaydı diziye ekler.

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

Türetilmiş bir sınıfta geçersiz kılındığında, otomatik olarak tek bir rezervasyon yapar ve bir kaydı diziye ekler.

WriteRestartArea(ArraySegment<Byte>)

Türetilmiş bir sınıfta geçersiz kılındığında, öğesine IRecordSequencebir yeniden başlatma alanı yazar.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Türetilmiş bir sınıfta geçersiz kılındığında, öğesine bir yeniden başlatma alanı IRecordSequence yazar ve temel sıra numarasını güncelleştirir.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

Türetilmiş bir sınıfta geçersiz kılındığında, rezervasyon kullanarak öğesine IRecordSequence bir yeniden başlatma alanı yazar ve temel sıra numarasını güncelleştirir.

WriteRestartArea(IList<ArraySegment<Byte>>)

Türetilmiş bir sınıfta geçersiz kılındığında, öğesine IRecordSequencebir yeniden başlatma alanı yazar.

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

Türetilmiş bir sınıfta geçersiz kılındığında, öğesine bir yeniden başlatma alanı IRecordSequence yazar ve temel sıra numarasını güncelleştirir.

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

Türetilmiş bir sınıfta geçersiz kılındığında, rezervasyon kullanarak öğesine IRecordSequence bir yeniden başlatma alanı yazar ve temel sıra numarasını güncelleştirir.

Ekinlikler

TailPinned

Kayıt dizisi kuyruğun ileriye taşınması gerektiğini belirlediğinde gerçekleşir.

Şunlara uygulanır