Aracılığıyla paylaş


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

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

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

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

  • 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 alan 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 dizisi içinde monoton olarak artar. Günlük kaydı, baytlık ArraySegments içinde IList örneğe sağlanan IRecordSequence 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, dizinine eklenebilen veya diziden okunabilen 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 alan olmadığından işlem Append başarısız olursa, kayıt dizisi boş alan açmaya çalışır ve Ekleme işlemini yeniden dener.

Özellikler

Name Description
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 okunabilen 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

Name Description
AdvanceBaseSequenceNumber(SequenceNumber)

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

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

Türetilmiş bir sınıfta geçersiz kılındığında, dizininde önceden ayrılmış olan alanı kullanarak öğesine bir günlük kaydı IRecordSequenceekler.

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

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

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

Türetilmiş bir sınıfta geçersiz kılındığında, dizininde önceden ayrılmış olan alanı kullanarak öğesine bir günlük kaydı IRecordSequenceekler.

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

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

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, dizide daha önce 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, daha önce dizide ayrılmış olan 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()

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı 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 durabilir bir şekilde yazıldığından emin olur.

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>, SequenceNumber, ReservationCollection)

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

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>)

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

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

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

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>>)

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

Ekinlikler

Name Description
TailPinned

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

Şunlara uygulanır