Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

LogRecordSequence Class

Represents a record sequence stored in a LogStore.

System.Object
  System.IO.Log.LogRecordSequence

Namespace:  System.IO.Log
Assembly:  System.IO.Log (in System.IO.Log.dll)
[<Sealed>]
type LogRecordSequence =  
    class 
        interface IRecordSequence 
        interface IDisposable 
    end

The LogRecordSequence type exposes the following members.

  NameDescription
Public methodLogRecordSequence(LogStore)Initializes a new instance of the LogRecordSequence class with the specified log store.
Public methodLogRecordSequence(String, FileMode)Initializes a new instance of the LogRecordSequence class with a specified path to the log store and the access mode.
Public methodLogRecordSequence(LogStore, Int32, Int32)Initializes a new instance of the LogRecordSequence class with the specified log store, buffer size for each record, and buffer number.
Public methodLogRecordSequence(String, FileMode, FileAccess)Initializes a new instance of the LogRecordSequence class with a specified path to the log store and the access and share modes.
Public methodLogRecordSequence(String, FileMode, FileAccess, FileShare)Initializes a new instance of the LogRecordSequence class with a specified path to the log store and the access mode.
Public methodLogRecordSequence(String, FileMode, FileAccess, FileShare, Int32, Int32)Initializes a new instance of the LogRecordSequence class with a specified path to the log store, file permission, access and share modes, and the buffer size and count for records.
Public methodLogRecordSequence(String, FileMode, FileAccess, FileShare, Int32, Int32, FileSecurity)Initializes a new instance of the LogRecordSequence class.
Top
  NameDescription
Public propertyBaseSequenceNumberGets the sequence number of the first valid record in the current LogRecordSequence.
Public propertyLastSequenceNumberGets the sequence number which is greater than the last record appended
Public propertyLogStoreGets the LogStore that contains the data for this record sequence. This method cannot be inherited.
Public propertyMaximumRecordLengthGets the maximum size of a record that can be added to this record sequence.
Public propertyReservedBytesGets the total number of bytes that have been reserved.
Public propertyRestartSequenceNumberGets the sequence number of the restart area closest to the end of the log.
Public propertyRetryAppendGets or sets a value indicating whether or not appends are automatically retried if the log is full.
Top
  NameDescription
Public methodAdvanceBaseSequenceNumberMoves the base sequence number of the log forward. This method cannot be inherited.
Public methodAppend(ArraySegment(Byte), SequenceNumber, SequenceNumber, RecordAppendOptions)Writes a log record to the LogRecordSequence. This method cannot be inherited.
Public methodAppend(IList(ArraySegment(Byte)), SequenceNumber, SequenceNumber, RecordAppendOptions)Appends a log record to the IRecordSequence. This method cannot be inherited.
Public methodAppend(ArraySegment(Byte), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection)Appends a log record to the IRecordSequence, using space previously reserved in the sequence. This method cannot be inherited.
Public methodAppend(IList(ArraySegment(Byte)), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection)Appends a log record to the IRecordSequence, using space previously reserved in the sequence. This method cannot be inherited.
Public methodBeginAppend(ArraySegment(Byte), SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)Begins an asynchronous append operation. This method cannot be inherited.
Public methodBeginAppend(IList(ArraySegment(Byte)), SequenceNumber, SequenceNumber, RecordAppendOptions, AsyncCallback, Object)Begins an asynchronous append operation. This method cannot be inherited.
Public methodBeginAppend(ArraySegment(Byte), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)Begins an asynchronous append operation. This method cannot be inherited.
Public methodBeginAppend(IList(ArraySegment(Byte)), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, AsyncCallback, Object)Begins an asynchronous append operation. This method cannot be inherited.
Public methodBeginFlushBegins an asynchronous flush operation, using space previously reserved in the sequence. This method cannot be inherited.
Public methodBeginReserveAndAppend(ArraySegment(Byte), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)Begins an asynchronous reserve and append operation. This method cannot be inherited.
Public methodBeginReserveAndAppend(IList(ArraySegment(Byte)), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)Begins an asynchronous reserve and append operation. This method cannot be inherited.
Public methodBeginWriteRestartArea(ArraySegment(Byte), SequenceNumber, ReservationCollection, AsyncCallback, Object)Begins an asynchronous restart area write operation, using space previously reserved in the sequence. This method cannot be inherited.
Public methodBeginWriteRestartArea(IList(ArraySegment(Byte)), SequenceNumber, ReservationCollection, AsyncCallback, Object)Begins an asynchronous restart area write operation, using space previously reserved in the sequence. This method cannot be inherited.
Public methodCreateReservationCollectionCreates a new ReservationCollection. This method cannot be inherited.
Public methodDisposeReleases the resources used by the component.
Public methodEndAppendEnds an asynchronous append operation. This method cannot be inherited.
Public methodEndFlushEnds an asynchronous flush operation. This method cannot be inherited.
Public methodEndReserveAndAppendEnds an asynchronous reserve and append operation. This method cannot be inherited.
Public methodEndWriteRestartAreaEnds an asynchronous restart area write operation. This method cannot be inherited.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodFlush()Ensures that all appended records have been written. This method cannot be inherited.
Public methodFlush(SequenceNumber)Ensures that all appended records up to and including the record with the specified sequence number have been durably written. This method cannot be inherited.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodReadLogRecordsReturns an enumerable collection of records in the sequence. This method cannot be inherited.
Public methodReadRestartAreasReturns an enumerable collection of the restart areas in the sequence. This method cannot be inherited.
Public methodReserveAndAppend(ArraySegment(Byte), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])Automatically makes a single reservation and appends a record to the sequence. This method cannot be inherited.
Public methodReserveAndAppend(IList(ArraySegment(Byte)), SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])Automatically makes a single reservation and appends a record to the sequence. This method cannot be inherited.
Public methodSetLastRecordSets the last record in the LogRecordSequence.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodWriteRestartArea(ArraySegment(Byte))Writes a restart area to the LogRecordSequence. This method cannot be inherited.
Public methodWriteRestartArea(IList(ArraySegment(Byte)))Writes a restart area to the LogRecordSequence. This method cannot be inherited.
Public methodWriteRestartArea(ArraySegment(Byte), SequenceNumber)Writes a restart area to the LogRecordSequence and updates the base sequence number. This method cannot be inherited.
Public methodWriteRestartArea(IList(ArraySegment(Byte)), SequenceNumber)Writes a restart area to the LogRecordSequence and updates the base sequence number. This method cannot be inherited.
Public methodWriteRestartArea(ArraySegment(Byte), SequenceNumber, ReservationCollection)Writes a restart area to the LogRecordSequence using a reservation, and updates the base sequence number. This method cannot be inherited.
Public methodWriteRestartArea(IList(ArraySegment(Byte)), SequenceNumber, ReservationCollection)Writes a restart area to the LogRecordSequence using a reservation, and updates the base sequence number. This method cannot be inherited.
Top
  NameDescription
Public eventTailPinnedSignals the need to move the tail of the sequence.
Top

The LogRecordSequence class provides an implementation of the record sequence interface on top of a Common Log File System (CLFS) log. In addition to the standard record-oriented features, it provides a policy model for avoiding log-full conditions, and multiplexing of clients on the same physical file. It works with the LogStore class, which provides an interface for directly manipulating and managing a CLFS log file. The relationship between the LogStore class and the LogRecordSequence class is similar to the relationship between a disk file and a FileStream object. The disk file provides the concrete 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 LogStore 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.

This example shows how to use the LogRecordSequence class:

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.