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
파일 보기 프로젝트 열기: GridProtectionAlliance/gsf 1 사용 예제들

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