Bagikan melalui


IRecordSequence Antarmuka

Definisi

Menyediakan antarmuka generik ke urutan rekaman.

public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
    interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
Turunan
Penerapan

Keterangan

Antarmuka IRecordSequence menyediakan antarmuka abstrak ke aliran berorientasi rekaman. IRecordSequence Instans dapat digunakan untuk membaca dan menulis rekaman log.

Antarmuka IRecordSequence menyediakan kemampuan berikut,

  • Tambahkan rekaman log menggunakan Append metode .

  • Baca catatan yang ditambahkan menggunakan ReadLogRecords metode .

  • Tulis rekaman hidupkan ulang khusus menggunakan metode .WriteRestartArea

  • Baca menghidupkan ulang rekaman dari rekaman hidupkan ulang yang terakhir ditulis menggunakan ReadRestartAreas metode .

  • Bersihkan rekaman ke penyimpanan tahan lama menggunakan Flush metode .

  • Cadangkan ruang untuk menambahkan rekaman.

  • Kosongkan ruang log dengan memajukan dasar log.

  • Terima TailPinned pemberitahuan peristiwa untuk memindahkan dasar log ke ruang kosong.

Catatan log ditambahkan ke IRecordSequence instans, dan setiap rekaman log diberi nomor urut yang unik. Nomor urut meningkat secara monoton dalam urutan rekaman tertentu. Catatan log terdiri dari data buram, disediakan ke IRecordSequence instans dalam IList ArraySegments byte.

Antarmuka ini IRecordSequence juga memaparkan beberapa properti dasar yang menyediakan informasi tentang batas log.

  • BaseSequenceNumber Properti berisi nomor urut rekaman valid pertama dalam urutan rekaman.

  • Properti LastSequenceNumber berisi nomor urut yang dijamin lebih besar dari jumlah urutan rekaman terakhir yang ditambahkan.

  • Properti RestartSequenceNumber berisi nomor urut dari area hidupkan ulang tertulis terakhir.

  • Properti MaximumRecordLength berisi ukuran rekaman terbesar yang dapat ditambahkan ke, atau dibaca dari urutan.

  • Properti ReservedBytes berisi ukuran total semua reservasi yang dibuat dalam urutan rekaman ini.

  • RetryAppend Jika properti diatur ke true, dan Append operasi gagal karena tidak ada ruang dalam urutan, urutan rekaman akan mencoba mengosongkan ruang, dan mencoba kembali operasi Tambahkan.

Properti

BaseSequenceNumber

Ketika ditimpa di kelas turunan, mendapatkan nomor urut rekaman valid pertama di saat ini IRecordSequence.

LastSequenceNumber

Ketika ditimpa di kelas turunan, mendapatkan nomor urut yang lebih besar dari catatan terakhir yang ditambahkan.

MaximumRecordLength

Ketika ditimpa di kelas turunan, mendapatkan ukuran rekaman terbesar yang dapat ditambahkan ke atau dibaca dari urutan ini, dalam byte.

ReservedBytes

Ketika ditimpa di kelas turunan, mendapatkan jumlah total byte yang telah dicadangkan.

RestartSequenceNumber

Ketika ditimpa di kelas turunan, mendapatkan nomor urut dari area hidupkan ulang yang terakhir ditulis.

RetryAppend

Mendapatkan atau menetapkan nilai yang menunjukkan apakah penampan secara otomatis dicoba kembali jika log penuh.

Metode

AdvanceBaseSequenceNumber(SequenceNumber)

Memindahkan nomor urutan dasar log ke depan.

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

Ketika ditimpa di kelas turunan, tulis catatan log ke IRecordSequence.

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

Ketika ditimpa di kelas turunan, menambahkan catatan log ke IRecordSequence, menggunakan ruang yang sebelumnya dipesan dalam urutan.

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

Saat ditimpa di kelas turunan, tambahkan catatan log ke IRecordSequence.

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

Ketika ditimpa di kelas turunan, menambahkan catatan log ke IRecordSequence, menggunakan ruang yang sebelumnya dipesan dalam urutan.

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

Ketika ditimpa di kelas turunan, memulai operasi penampan asinkron.

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

Ketika ditimpa di kelas turunan, memulai operasi penautan asinkron menggunakan ruang yang sebelumnya dicadangkan dalam urutan.

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

Ketika ditimpa di kelas turunan, memulai operasi penautan asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan.

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

Ketika ditimpa di kelas turunan, memulai operasi penautan asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan.

BeginFlush(SequenceNumber, AsyncCallback, Object)

Ketika ditimpa di kelas turunan, memulai operasi flush asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan.

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

Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penampan asinkron.

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

Ketika ditimpa di kelas turunan, memulai operasi cadangan dan penampan asinkron.

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

Ketika ditimpa di kelas turunan, memulai operasi penulisan area hidupkan ulang asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan.

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

Ketika ditimpa di kelas turunan, memulai operasi penulisan area hidupkan ulang asinkron, menggunakan ruang yang sebelumnya dicadangkan dalam urutan.

CreateReservationCollection()

Ketika ditimpa di kelas turunan, membuat baru ReservationCollection.

Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola.

(Diperoleh dari IDisposable)
EndAppend(IAsyncResult)

Ketika ditimpa di kelas turunan, mengakhiri operasi penampan asinkron.

EndFlush(IAsyncResult)

Ketika ditimpa di kelas turunan, mengakhiri operasi flush asinkron.

EndReserveAndAppend(IAsyncResult)

Ketika ditimpa di kelas turunan, mengakhiri operasi cadangan dan penampan asinkron.

EndWriteRestartArea(IAsyncResult)

Ketika ditimpa di kelas turunan, mengakhiri operasi penulisan area hidupkan ulang asinkron.

Flush()

Ketika ditimpa di kelas turunan, memastikan bahwa semua catatan yang ditambahkan telah ditulis.

Flush(SequenceNumber)

Ketika ditimpa di kelas turunan, memastikan bahwa semua rekaman yang ditambahkan hingga dan termasuk rekaman dengan nomor urutan yang ditentukan telah ditulis dengan durably.

ReadLogRecords(SequenceNumber, LogRecordEnumeratorType)

Saat ditimpa di kelas turunan, mengembalikan kumpulan rekaman yang dapat dijumlahkan dalam urutan.

ReadRestartAreas()

Ketika ditimpa di kelas turunan, mengembalikan koleksi area hidupkan ulang yang dapat dihitung secara berurutan.

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

Ketika ditimpa di kelas turunan, secara otomatis membuat satu reservasi dan menambahkan catatan ke urutan.

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

Ketika ditimpa di kelas turunan, secara otomatis membuat satu reservasi dan menambahkan catatan ke urutan.

WriteRestartArea(ArraySegment<Byte>)

Ketika ditimpa di kelas turunan, tulis area hidupkan ulang ke IRecordSequence.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber)

Ketika ditimpa di kelas turunan, menulis area hidupkan ulang ke IRecordSequence dan memperbarui nomor urutan dasar.

WriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection)

Saat ditimpa di kelas turunan, tulis area hidupkan ulang ke IRecordSequence menggunakan reservasi, dan memperbarui nomor urutan dasar.

WriteRestartArea(IList<ArraySegment<Byte>>)

Ketika ditimpa di kelas turunan, tulis area hidupkan ulang ke IRecordSequence.

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

Ketika ditimpa di kelas turunan, menulis area hidupkan ulang ke IRecordSequence dan memperbarui nomor urutan dasar.

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

Saat ditimpa di kelas turunan, tulis area hidupkan ulang ke IRecordSequence menggunakan reservasi, dan memperbarui nomor urutan dasar.

Acara

TailPinned

Terjadi ketika urutan rekaman menentukan bahwa ekor harus dipindahkan ke depan.

Berlaku untuk