Project Description

Heimdallr is a framework focuses mainly on HTTP and IO event publishing. The project is basically formed with an abstract class ServiceElement and its derived classes. Each element is controlled by a ServiceElementController instance hosted in application such as Windows Service.

There are two interfaces define "roles" for these elements:


Define the element as a trigger, which means it monitors a target (for instance, a file in somewhere folder) and fires notification once the target get created or modified.


Define the element as an event publisher, which means client application can "subscribe" to it via available protocols or methods (for instance, HTTP polling or multipart streaming) provided by the element.

All events and their data from triggers are wrapped by Notification class and its derived classes. The publishers can read the data with byte array or a Stream instance. And besides, "roles" are defined by interfaces, so an element can work as one or both of them. For example, the HttpElement class implements both interfaces because it can fire event when client uploads data with POST or PUT method. And publishes notification via long polling mechanism provided by HttpPollingResponseModule and multipart streaming by HttpMultipartResponseModule.

The project is still a draft and may changes radically. Stay tuned for more information and feel free to leave any comment or question.

Last edited May 14, 2013 at 3:26 PM by reassert, version 9