C# Class LogStreamer.FilteredLogReader

FilteredLogReader reads the transaction log looking for transactions with commit ID's that modify a set of tables with commit ID's less than the transaction commit ID, or all transactions if there is no dictionary. Then makes the next transaction available, with any non-matching table operations removed from the transaction. It also does loop filtering based on peer database GUID. All transactions that contain an insert or update of LogStreamer.State where DatabaseGuid equals the peer will be ignored in entirety. Finally, no operations on LogStreamer tables will be sent.
Datei anzeigen Open project: StarcounterPrefabs/LogStreamer Class Usage Examples

Public Methods

Method Description
FilteredLogReader ( LogStreamerSession logStreamer, ulong>.Dictionary tablePos, HashSet tableFilter ) : System
GetTransactionLogDirectory ( ) : string

Retrieves the Starcounter transaction log directory from the server's settings URI.

IsSendNothingFilter ( ) : bool
OpenLog ( ) : void
OpenLogAsync ( CancellationToken ct ) : Task
ReadAsync ( CancellationToken ct ) : Task
StripDatabasePrefix ( string tableNameOrId ) : string

Private Methods

Method Description
FilterLoops ( ColumnUpdate columns ) : bool
FilterTable ( string tableName, ulong commitId ) : bool
FilterTransaction ( LogReadResult lrr ) : bool
FindStartCommitId ( ) : ulong
GetEmptyLogReadResult ( ulong commitId ) : LogReadResult

Method Details

FilteredLogReader() public method

public FilteredLogReader ( LogStreamerSession logStreamer, ulong>.Dictionary tablePos, HashSet tableFilter ) : System
logStreamer LogStreamerSession
tablePos ulong>.Dictionary
tableFilter HashSet
return System

GetTransactionLogDirectory() static public method

Retrieves the Starcounter transaction log directory from the server's settings URI.
static public GetTransactionLogDirectory ( ) : string
return string

IsSendNothingFilter() public method

public IsSendNothingFilter ( ) : bool
return bool

OpenLog() public method

public OpenLog ( ) : void
return void

OpenLogAsync() public method

public OpenLogAsync ( CancellationToken ct ) : Task
ct System.Threading.CancellationToken
return Task

ReadAsync() public method

public ReadAsync ( CancellationToken ct ) : Task
ct System.Threading.CancellationToken
return Task

StripDatabasePrefix() public method

public StripDatabasePrefix ( string tableNameOrId ) : string
tableNameOrId string
return string