Represents a log-structured storage.
Assembly: System.IO.Log (in System.IO.Log.dll)
Thetype exposes the following members.
|LogStore(SafeFileHandle)||Initializes a new instance of the class for the specified handle.|
|LogStore(String, FileMode)||Initializes a new instance of the class with the specified path and mode.|
|LogStore(String, FileMode, FileAccess)||Initializes a new instance of the class with the specified path, mode, and access.|
|LogStore(String, FileMode, FileAccess, FileShare)||Initializes a new instance of the class.|
|LogStore(String, FileMode, FileAccess, FileShare, FileSecurity)||Initializes a new instance of the class.|
|Archivable||Gets a value indicating whether this instance can be archived.|
|BaseSequenceNumber||Gets the lowest sequence number that corresponds to a valid record in this instance.|
|Extents||Gets the collection of log extents that contain the data for this log store.|
|FreeBytes||Gets the number of bytes available in the log store.|
|Handle||Gets the operating system file handle for the log file that the current instance encapsulates.|
|LastSequenceNumber||When overridden in a derived class, gets the sequence number of the next record to be appended to the log store.|
|Length||Gets the size of the log store, in bytes.|
|Policy||Gets the policy associated with this log store.|
|StreamCount||Gets the number of log streams in this log store.|
|CreateLogArchiveSnapshot()||Takes a snapshot of the log store state for making a backup.|
|CreateLogArchiveSnapshot(SequenceNumber, SequenceNumber)||Takes a snapshot of the log store state between the specified sequence numbers for making a backup.|
|Delete||Removes the log store.|
|Dispose||Releases all resources used by the .|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|SetArchiveTail||Sets the sequence number of the archive tail.|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
The LogRecordSequence class provides an implementation of the record sequence interface on top of a Common Log File System (CLFS) log. It works with the class, which provides an interface for directly manipulating and managing a CLFS log file. A log store provides append-only storage across a set of disk extents. The class represents this storage, and provides methods for adding and removing containers, setting policy, and creating archives. It does not provide methods for reading from and writing to the storage; these methods are provided by the LogRecordSequence class.
The relationship between the class and the LogRecordSequence class is similar to the relationship between a disk file and a FileStream object. The disk file provides the actual storage and has attributes such as length and last access time, while the FileStream object provides a view on the file that can be used to read from it and write to it. Similarly, the class has attributes like a policy and a collection of disk extents, and the LogRecordSequence class provides a record-oriented mechanism for reading and writing data.
Unlike the file record sequence represented by the FileRecordSequence class, a instance stores its data in a collection of disk extents, represented by LogExtent instances. The extents in a given instance are all of uniform size, and space is added to and removed from a instance in extent increments. To add and remove log extents, use the Add and Remove methods of the LogExtentCollection object, which can be returned by the Extents property.
A instance can have policies associated with it. These are represented by LogPolicy instances that can be returned by the Policy property. A policy dictates rules that the log will attempt to follow, such as maximum number of extents and minimum size, and instructions on growing or shrinking the under certain conditions. In addition, you can specify whether a instance can be archived. Policies are set per log and are volatile, which means that once every handle to the log is closed, the policy no longer exists.