Overview

Heimdallr namespace provides a set of basic classes. They build a standard operation and event notification model for each communication method. The core classes are ServiceElement and ServiceController. ServiceElement represents the long-running mechanic of a communication method, and ServiceController provides methods and properties for controlling the ServiceElement instance.

Status

Depending on the implementation of classes derived from ServiceElement, System is able to Start(), Stop(), Pause() and Continue() an instance with the ServiceController which is it controlled by. The following list shows 3 main of statuses of an element:

  • Stopped - The service element is stopped. This is the default status of an element.
  • Running - The service element is running its communication method.
  • Paused - The service element has been paused.

An ServiceElement instance will raise StatusChanged event once its status has changed. The following figure explains the transformation between each status. 


Interfaces

Derived classes of ServiceElement are able to implement one or more following interfaces, depending on its purposes. 

  • ITriggerElement - Define a ServiceElement as a trigger, listens notifications from the other systems and raises events.
  • INotifyElement - Define a ServiceElement as a notification publisher, publishes notifications to the other systems. 

Notification

The notifications between each ServiceElement instance are all the derived classes of Notification class. It defines basic properties and a set of methods for reading notification content. The ContentType property allows readers to decide how to read data, and Level property describes the importance.

  • Debug - This notification is for developer debugging.
  • Info -  This notification contains normal information.
  • Warn - This notification contains warning information which needs attention.
  • Error - This notification contains error information.
  • Fatal - This notification contains fatal information with highest priority which needs system administrators' attention.

All instances of Notification and its derived classes will provides read-only and thread-safe properties and methods.

Last edited Oct 13, 2013 at 1:26 PM by reassert, version 1

Comments

No comments yet.