Runs as a supervisable component and periodically (every hour) checks the last known public IP address with the current public IP address. If a difference is detected, it sends an email to the specified recipients.
More...
|
override void | OnCheckReferencesStates () |
| Called when the supervisable component needs to check the state of its runtime reference components. More...
|
|
override void | OnResolveReferences () |
| Called when the supervisable component needs to resolve its runtime references to other components. More...
|
|
override void | OnInitialize (Configuration.SupervisableConfig config) |
| Called when the supervisable component is intitialized. More...
|
|
override void | OnStart () |
| Called to start the supervisable component. More...
|
|
override void | OnStop () |
| Called to stop the supervisable component. More...
|
|
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...
|
|
|
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...
|
|
void | Initialize (Apac.Configuration.SupervisableConfig config, Supervisors.ISupervisor exec) |
| Initializes the component with the given SupervisableConfig (or derivative) and ISupervisor. More...
|
|
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...
|
|
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...
|
|
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...
|
|
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...
|
|
Runs as a supervisable component and periodically (every hour) checks the last known public IP address with the current public IP address. If a difference is detected, it sends an email to the specified recipients.