IRecordSequence インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
レコード シーケンスのジェネリック インターフェイスを提供します。
public interface class IRecordSequence : IDisposable
public interface IRecordSequence : IDisposable
type IRecordSequence = interface
interface IDisposable
Public Interface IRecordSequence
Implements IDisposable
- 派生
- 実装
注釈
IRecordSequence インターフェイスにより、レコード指向ストリームの抽象インターフェイスを使用できるようになります。 IRecordSequence インスタンスはログ レコードの読み書きにも使用できます。
IRecordSequence インターフェイスには、次の機能があります。
Append メソッドを使用してログ レコードを追加します。
ReadLogRecords メソッドを使用して、追加したレコードを読み取ります。
WriteRestartArea メソッドを使用して、特殊な再開レコードを書き込みます。
ReadRestartAreas メソッドを使用して、直前に書き込まれた再開レコードから再開レコードを読み取ります。
メソッドを使用して、レコードを永続ストアに Flush フラッシュします。
レコードを追加する領域を予約します。
ログのベースを進めることでログ領域を解放します。
TailPinned イベント通知を受信して、ログのベースを移動し、領域を解放します。
ログ レコードが IRecordSequence インスタンスに追加され、各ログ レコードに一意のシーケンス番号が付与されます。 シーケンス番号は、指定されたレコード シーケンス内で常に決まった値で増加します。 ログ レコードは不透明データで構成され、バイトの ArraySegments の IRecordSequence 内の IList インスタンスに指定されます。
IRecordSequence インターフェイスは、ログ境界に関する情報を表すいくつかの基本プロパティも公開します。
BaseSequenceNumber プロパティには、レコード シーケンス内の最初の有効なレコードのシーケンス番号が格納されています。
LastSequenceNumber プロパティには、最後に追加されたレコードのシーケンス番号を超えることが保証されたシーケンス番号が格納されています。
RestartSequenceNumber プロパティには、直前に書き込まれた再開領域のシーケンス番号が格納されています。
MaximumRecordLength プロパティには、このシーケンスに対して追加または読み取りが可能な最大レコード サイズが格納されています。
ReservedBytes プロパティには、このレコード シーケンス内で行われたすべての予約の合計サイズが格納されています。
RetryAppend プロパティが
true
に設定され、シーケンス内に領域がないために Append の処理が失敗したときは、レコード シーケンスが領域の解放を試みた後、追加操作を再試行します。
プロパティ
BaseSequenceNumber |
派生クラスでオーバーライドされると、現在の IRecordSequence の最初の有効なレコードのシーケンス番号を取得します。 |
LastSequenceNumber |
派生クラスでオーバーライドされると、追加された最後のレコードより大きいシーケンス番号を取得します。 |
MaximumRecordLength |
派生クラスでオーバーライドされると、このシーケンスに対して追加または読み取りが可能な最大レコード サイズのバイト数を取得します。 |
ReservedBytes |
派生クラスでオーバーライドされると、予約されている合計バイト数を取得します。 |
RestartSequenceNumber |
派生クラスでオーバーライドされると、直前に書き込まれた再開領域のシーケンス番号を取得します。 |
RetryAppend |
ログがいっぱいの場合に、追加を自動的に再試行するかどうかを示す値を取得または設定します。 |
メソッド
イベント
TailPinned |
レコード シーケンスで末尾を前方に移動する必要があると判断された場合に発生します。 |
適用対象
.NET