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.
Afficher le fichier Open project: StarcounterPrefabs/LogStreamer Class Usage Examples

Méthodes publiques

Méthode 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

Méthode 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 méthode

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

GetTransactionLogDirectory() static public méthode

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

IsSendNothingFilter() public méthode

public IsSendNothingFilter ( ) : bool
Résultat bool

OpenLog() public méthode

public OpenLog ( ) : void
Résultat void

OpenLogAsync() public méthode

public OpenLogAsync ( CancellationToken ct ) : Task
ct System.Threading.CancellationToken
Résultat Task

ReadAsync() public méthode

public ReadAsync ( CancellationToken ct ) : Task
ct System.Threading.CancellationToken
Résultat Task

StripDatabasePrefix() public méthode

public StripDatabasePrefix ( string tableNameOrId ) : string
tableNameOrId string
Résultat string