AP&C API Reference
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Events | List of all members
Apac.Data.ThreadedCompilationEngine Class Referenceabstract
Inheritance diagram for Apac.Data.ThreadedCompilationEngine:
Apac.Supervisable Apac.Data.IDataCompiler Apac.ISupervisable Apac.Data.StandardCompiler

Public Member Functions

void ProcessReadings (Apac.Monitoring.Readings readings)
 
- Public Member Functions inherited from Apac.Supervisable
void Initialize (Apac.Configuration.SupervisableConfig config, Supervisors.ISupervisor supervisor)
 Initializes the controller from configuration. More...
 
void ResolveReferences ()
 Resolves any references this component might hold to other supervisable components. More...
 
void CheckReferencesStates ()
 Checks the states of referenced components to be sure they are satisfactory for this component's operation. More...
 
void Starting ()
 Signals that the component will be starting on its own thread. This implementation uses this opportunity to CheckReferencesStates, change state to Starting, and signal subclasses with OnStarting. More...
 
void Start ()
 Starts the component. More...
 
void Stop ()
 Stops the component. More...
 
- Public Member Functions inherited from Apac.ISupervisable
void Initialize (Apac.Configuration.SupervisableConfig config, Supervisors.ISupervisor exec)
 Initializes the component with the given SupervisableConfig (or derivative) and ISupervisor. More...
 
- Public Member Functions inherited from Apac.Data.IDataCompiler
void ProcessReadings (Monitoring.Readings readings)
 

Protected Member Functions

override void OnInitialize (Apac.Configuration.SupervisableConfig config)
 
override void OnResolveReferences ()
 Called when the supervisable component needs to resolve its runtime references to other components. More...
 
override void OnCheckReferencesStates ()
 Called when the supervisable component needs to check the state of its runtime reference components. More...
 
override void OnStart ()
 Called to start the supervisable component. More...
 
override void OnStop ()
 Called to stop the supervisable component. More...
 
abstract void OnCompileReadings (Monitoring.Readings readings)
 
abstract void OnCompileHourlyAvgs (IList< WeightedMeasurementAvgs > avgs, DateTime timestamp)
 
abstract void OnCompileDailyAvgs (IList< WeightedMeasurementAvgs > avgs, DateTime timestamp)
 
abstract void OnCompileMonthlyAvgs (IList< WeightedMeasurementAvgs > avgs, DateTime timestamp)
 
void CompileHourlyAvgs (IList< WeightedMeasurementAvgs > avgs, DateTime timestamp)
 Useful for subclasses that want to usher compilation activities to another thread. More...
 
void CompileDailyAvgs (IList< WeightedMeasurementAvgs > avgs, DateTime timestamp)
 Useful for subclasses that want to usher compilation activities to another thread. More...
 
void CompileMonthyAvgs (IList< WeightedMeasurementAvgs > avgs, DateTime timestamp)
 Useful for subclasses that want to usher compilation activities to another thread. More...
 
virtual void OnMeasurementsCompiled (Measurements measurements)
 
virtual void OnFiveMinAvgsCompiled (ITimeStamped avgs)
 
virtual void OnHourlyAvgsCompiled (ITimeStamped avgs)
 Provides asynchronous callout semantics for the HourlyAvgsCompiled event. More...
 
virtual void OnDailyAvgsCompiled (ITimeStamped avgs)
 Provides asynchronous callout semantics for the DailyAvgsCompiled event. More...
 
virtual void OnMonthlyAvgsCompiled (ITimeStamped avgs)
 Provides asynchronous callout semantics for the MonthlyAvgsCompiled event. More...
 
- Protected Member Functions inherited from Apac.Supervisable
abstract void OnInitialize (Apac.Configuration.SupervisableConfig config)
 Called when the supervisable component is intitialized. More...
 
virtual void OnStarting ()
 Called when the supervisable component is about to start. This differs from handling OnStart in that this method is called on the supervisor's thread, whereas Start is called on a new thread. Subclasses may override this to do work that is considered initialization work that should be done before all component threads are started. More...
 
virtual void OnStateChanging (SupervisableState currentState, SupervisableState newState)
 Call chain for state changing notification. More...
 
virtual void OnStateChanged (SupervisableState previousState, SupervisableState newState)
 Call chain for state changed notification. More...
 
virtual void OnException (Exception ex)
 Call chain for exception notification. More...
 
void SetState (SupervisableState newState)
 Changes the state of the controller to the new state. More...
 
virtual void OnStateChangeStarting ()
 
virtual void OnStateChangeRunning ()
 
virtual void OnStateChangeStopping ()
 
virtual void OnStateChangeStopped ()
 
virtual void OnStateChangeInitializing ()
 
virtual void OnStateChangeInitialized ()
 
virtual void OnStateChangeErrored ()
 
virtual void OnStateChangeImpaired ()
 
void HandleException (string message, Exception e)
 Deals with the details of handling exceptions captured by the controller. More...
 
void ResetException ()
 Allows subclasses to reset the last exception to an empty state. More...
 
void HandleImpairment (string message, Exception e)
 Deals with the details of handling non-critical problems captured by the controller. More...
 

Protected Attributes

volatile Configuration.CompilerConfig _config = null
 

Properties

IMeasurementStore Store [get]
 Provide subclasses with access to the store. More...
 
ISettingsStore SettingStore [get]
 Provide subclasses with access to the settings. More...
 
IDataAnalyzer PostProcessor [get]
 Provide subclasses with access to the post processing agent. More...
 
- Properties inherited from Apac.Supervisable
string Name [get]
 Gets the name of the controller, as specified by configuration. Note that if the name is not specified, then an index will be used. More...
 
string Description [get]
 Gets the description of the controller, as specified by configuration. More...
 
bool Prioritized [get]
 Indicates if the supervisable component should be executed on a higher thread priority. More...
 
DateTime LastHeartbeat [get]
 The time of the last heartbeat. More...
 
Supervisors.ISupervisor ExecutiveSupervisor [get]
 Walks the tree to find the top level supervisor. More...
 
bool IsRunning [get]
 Gets a value indicating whether this instance is running. More...
 
SupervisableState CurrentState [get]
 Gets the current overall state of the controller. More...
 
SupervisableState PreviousState [get]
 Gets the previous overall state of the controller. More...
 
Exception LastException [get]
 Gets the last exception encountered within the controller. More...
 
DateTime StartTime [get]
 Gets the time this supervisable component was started. More...
 
DateTime StopTime [get]
 Gets the time this supervisable component was stopped. More...
 
TimeSpan UpTime [get]
 Gets the amount of time this supervisable component has been running, or did run before it was stopped (if IsRunning is false). More...
 
Supervisors.ISupervisor Supervisor [get]
 Gets the supervisor. More...
 
SupervisableConfig Config [get]
 The configuration object used by the supervisable component. More...
 
log4net.ILog Log [get]
 Lazy-initialized logger for subclass usage. More...
 
- Properties inherited from Apac.ISupervisable
string Name [get]
 The name of the component, for unique identification purposes. More...
 
string Description [get]
 The description of the component, for human consumption. More...
 
bool Prioritized [get]
 Indicates if the component should be high priority. More...
 
Supervisors.ISupervisor ExecutiveSupervisor [get]
 Walks the tree to find the top level supervisor. More...
 
bool IsRunning [get]
 Indicates that the component is running. More...
 
DateTime LastHeartbeat [get]
 
DateTime StartTime [get]
 Gets the time this supervisable component was started. More...
 
DateTime StopTime [get]
 Gets the time this supervisable component was stopped. More...
 
TimeSpan UpTime [get]
 Gets the amount of time this supervisable component has been running, or did run before it was stopped (if IsRunning is false). More...
 
SupervisableState CurrentState [get]
 Gets the current SupervisableState of this component. More...
 
SupervisableState PreviousState [get]
 Gets the previous SupervisableState of this component. More...
 
Exception LastException [get]
 Gets the last exception to have occurred and been trapped by this component. More...
 

Events

MeasurementsCompiledHandler MeasurementsCompiled
 
FiveMinAvgsCompiledHandler FiveMinAvgsCompiled
 
HourlyAvgsCompiledHandler HourlyAvgsCompiled
 
DailyAvgsCompiledHandler DailyAvgsCompiled
 
MonthlyAvgsCompiledHandler MonthlyAvgsCompiled
 
- Events inherited from Apac.Supervisable
SupervisableStateChangingHandler SupervisableStateChanging
 Notifies listeners that the state is about to change. More...
 
SupervisableStateChangedHandler SupervisableStateChanged
 Notifies listeners that the state has changed. More...
 
SupervisableErroredHandler SupervisableErrored
 Notifies listeners that an error occured within the controller. More...
 
SupervisableHeartbeatHandler SupervisableHeartbeat
 Notifies listeners that the component is still active. More...
 
- Events inherited from Apac.ISupervisable
SupervisableStateChangingHandler SupervisableStateChanging
 Notifies listeners that the state is about to change. More...
 
SupervisableStateChangedHandler SupervisableStateChanged
 Notifies listeners that the state has changed. More...
 
SupervisableErroredHandler SupervisableErrored
 Notifies listeners that an error occured within the controller. More...
 
SupervisableHeartbeatHandler SupervisableHeartbeat
 Notifies listeners that the component is still active. More...
 
- Events inherited from Apac.Data.IDataCompiler
MeasurementsCompiledHandler MeasurementsCompiled
 
FiveMinAvgsCompiledHandler FiveMinAvgsCompiled
 
DailyAvgsCompiledHandler DailyAvgsCompiled
 
HourlyAvgsCompiledHandler HourlyAvgsCompiled
 
MonthlyAvgsCompiledHandler MonthlyAvgsCompiled
 

Member Function Documentation

◆ CompileDailyAvgs()

void Apac.Data.ThreadedCompilationEngine.CompileDailyAvgs ( IList< WeightedMeasurementAvgs avgs,
DateTime  timestamp 
)
inlineprotected

Useful for subclasses that want to usher compilation activities to another thread.

Parameters
avgsThe averages to be compiled.

◆ CompileHourlyAvgs()

void Apac.Data.ThreadedCompilationEngine.CompileHourlyAvgs ( IList< WeightedMeasurementAvgs avgs,
DateTime  timestamp 
)
inlineprotected

Useful for subclasses that want to usher compilation activities to another thread.

Parameters
avgsThe averages to be compiled.

◆ CompileMonthyAvgs()

void Apac.Data.ThreadedCompilationEngine.CompileMonthyAvgs ( IList< WeightedMeasurementAvgs avgs,
DateTime  timestamp 
)
inlineprotected

Useful for subclasses that want to usher compilation activities to another thread.

Parameters
avgsThe averages to be compiled.

◆ OnCheckReferencesStates()

override void Apac.Data.ThreadedCompilationEngine.OnCheckReferencesStates ( )
inlineprotectedvirtual

Called when the supervisable component needs to check the state of its runtime reference components.

Implements Apac.Supervisable.

◆ OnDailyAvgsCompiled()

virtual void Apac.Data.ThreadedCompilationEngine.OnDailyAvgsCompiled ( ITimeStamped  avgs)
inlineprotectedvirtual

Provides asynchronous callout semantics for the DailyAvgsCompiled event.

Parameters
avgsThe ITimeStamped list of averages.

Reimplemented in Apac.Data.StandardCompiler.

◆ OnHourlyAvgsCompiled()

virtual void Apac.Data.ThreadedCompilationEngine.OnHourlyAvgsCompiled ( ITimeStamped  avgs)
inlineprotectedvirtual

Provides asynchronous callout semantics for the HourlyAvgsCompiled event.

Parameters
avgsThe ITimeStamped list of averages.

Reimplemented in Apac.Data.StandardCompiler.

◆ OnMonthlyAvgsCompiled()

virtual void Apac.Data.ThreadedCompilationEngine.OnMonthlyAvgsCompiled ( ITimeStamped  avgs)
inlineprotectedvirtual

Provides asynchronous callout semantics for the MonthlyAvgsCompiled event.

Parameters
avgsThe ITimeStamped list of averages.

◆ OnResolveReferences()

override void Apac.Data.ThreadedCompilationEngine.OnResolveReferences ( )
inlineprotectedvirtual

Called when the supervisable component needs to resolve its runtime references to other components.

Implements Apac.Supervisable.

◆ OnStart()

override void Apac.Data.ThreadedCompilationEngine.OnStart ( )
inlineprotectedvirtual

Called to start the supervisable component.

Implements Apac.Supervisable.

◆ OnStop()

override void Apac.Data.ThreadedCompilationEngine.OnStop ( )
inlineprotectedvirtual

Called to stop the supervisable component.

Implements Apac.Supervisable.

Property Documentation

◆ PostProcessor

IDataAnalyzer Apac.Data.ThreadedCompilationEngine.PostProcessor
getprotected

Provide subclasses with access to the post processing agent.

◆ SettingStore

ISettingsStore Apac.Data.ThreadedCompilationEngine.SettingStore
getprotected

Provide subclasses with access to the settings.

◆ Store

IMeasurementStore Apac.Data.ThreadedCompilationEngine.Store
getprotected

Provide subclasses with access to the store.


The documentation for this class was generated from the following file: