C# Класс GSF.TimeSeries.Transport.DataGapRecoverer

Represents a data gap recovery module.

Data gaps will be recovered using an unsynchronized temporal subscription.

This class expects that source historian that feeds temporal subscription will recover data in time-sorted order.

Наследование: ISupportLifecycle, IProvideStatus
Показать файл Открыть проект Примеры использования класса

Private Properties

Свойство Тип Описание
CanProcessDataGap bool
Common_ProcessException void
Common_StatusMessage void
DataStreamMonitor_Elapsed void
GetLoggingPath string
ProcessDataGap void
TemporalSubscription_ConnectionEstablished void
TemporalSubscription_ConnectionTerminated void
TemporalSubscription_NewMeasurements void
TemporalSubscription_ProcessingComplete void

Открытые методы

Метод Описание
DataGapRecoverer ( ) : System

Creates a new DataGapRecoverer.

Dispose ( ) : void

Releases all the resources used by the DataGapRecoverer object.

FlushLog ( int timeout = Timeout.Infinite ) : bool

Blocks calling thread until data gap OutageLog has been flushed to disk.

Data gap log is automatically persisted to disk as Outage items are added or removed from the log. This function only exists to force a flush and block calling thread until flush has completed.

Function first waits for any pending data gap operation to complete then waits for data gap log to be flushed. Both waits use the same timeout value, as a result it is possible that total wait time could be longer than specified wait time.

FlushLogAsync ( ) : void

Queues up a flush to happen asynchronously.

Initialize ( ) : void

Initializes the DataGapRecoverer.

LogDataGap ( DateTimeOffset startTime, DateTimeOffset endTime ) : bool

Logs a new data gap for processing.

Data gap will not be logged for processing if the startTime and endTime do not represent a valid time span for recovery according to MinimumRecoverySpan and MaximumRecoverySpan.

Защищенные методы

Метод Описание
Dispose ( bool disposing ) : void

Releases the unmanaged resources used by the DataGapRecoverer object and optionally releases the managed resources.

OnProcessException ( MessageLevel level, Exception exception, string eventName = null, MessageFlags flags = MessageFlags.None ) : void

Raises the ProcessException event.

should be a constant string value associated with what type of message is being generated. In general, there should only be a few dozen distinct event names per class. Exceeding this threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.

OnRecoveredMeasurements ( ICollection measurements ) : void

Raises the RecoveredMeasurements event.

OnStatusMessage ( MessageLevel level, string status, string eventName = null, MessageFlags flags = MessageFlags.None ) : void

Raises the StatusMessage event and sends this data to the Logger.

should be a constant string value associated with what type of message is being generated. In general, there should only be a few dozen distinct event names per class. Exceeding this threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.

Приватные методы

Метод Описание
CanProcessDataGap ( Outage dataGap ) : bool
Common_ProcessException ( object sender, EventArgs e ) : void
Common_StatusMessage ( object sender, EventArgs e ) : void
DataStreamMonitor_Elapsed ( object sender, EventArgs e ) : void
GetLoggingPath ( string filePath ) : string
ProcessDataGap ( Outage dataGap ) : void
TemporalSubscription_ConnectionEstablished ( object sender, EventArgs e ) : void
TemporalSubscription_ConnectionTerminated ( object sender, EventArgs e ) : void
TemporalSubscription_NewMeasurements ( object sender, EventArgs e ) : void
TemporalSubscription_ProcessingComplete ( object sender, EventArgs e ) : void

Описание методов

DataGapRecoverer() публичный Метод

Creates a new DataGapRecoverer.
public DataGapRecoverer ( ) : System
Результат System

Dispose() публичный Метод

Releases all the resources used by the DataGapRecoverer object.
public Dispose ( ) : void
Результат void

Dispose() защищенный Метод

Releases the unmanaged resources used by the DataGapRecoverer object and optionally releases the managed resources.
protected Dispose ( bool disposing ) : void
disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources.
Результат void

FlushLog() публичный Метод

Blocks calling thread until data gap OutageLog has been flushed to disk.

Data gap log is automatically persisted to disk as Outage items are added or removed from the log. This function only exists to force a flush and block calling thread until flush has completed.

Function first waits for any pending data gap operation to complete then waits for data gap log to be flushed. Both waits use the same timeout value, as a result it is possible that total wait time could be longer than specified wait time.

public FlushLog ( int timeout = Timeout.Infinite ) : bool
timeout int Optional time-out for waiting thread block. Defaults to waiting indefinitely.
Результат bool

FlushLogAsync() публичный Метод

Queues up a flush to happen asynchronously.
public FlushLogAsync ( ) : void
Результат void

Initialize() публичный Метод

Initializes the DataGapRecoverer.
public Initialize ( ) : void
Результат void

LogDataGap() публичный Метод

Logs a new data gap for processing.
Data gap will not be logged for processing if the startTime and endTime do not represent a valid time span for recovery according to MinimumRecoverySpan and MaximumRecoverySpan.
public LogDataGap ( DateTimeOffset startTime, DateTimeOffset endTime ) : bool
startTime DateTimeOffset Start time of data gap.
endTime DateTimeOffset End time of data gap.
Результат bool

OnProcessException() защищенный Метод

Raises the ProcessException event.
should be a constant string value associated with what type of message is being generated. In general, there should only be a few dozen distinct event names per class. Exceeding this threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.
protected OnProcessException ( MessageLevel level, Exception exception, string eventName = null, MessageFlags flags = MessageFlags.None ) : void
level MessageLevel The to assign to this message
exception System.Exception Processing .
eventName string A fixed string to classify this event; defaults to null.
flags MessageFlags to use, if any; defaults to .
Результат void

OnRecoveredMeasurements() защищенный Метод

Raises the RecoveredMeasurements event.
protected OnRecoveredMeasurements ( ICollection measurements ) : void
measurements ICollection
Результат void

OnStatusMessage() защищенный Метод

Raises the StatusMessage event and sends this data to the Logger.
should be a constant string value associated with what type of message is being generated. In general, there should only be a few dozen distinct event names per class. Exceeding this threshold will cause the EventName to be replaced with a general warning that a usage issue has occurred.
protected OnStatusMessage ( MessageLevel level, string status, string eventName = null, MessageFlags flags = MessageFlags.None ) : void
level MessageLevel The to assign to this message
status string New status message.
eventName string A fixed string to classify this event; defaults to null.
flags MessageFlags to use, if any; defaults to .
Результат void