NOTIF uses a named queue to process incoming events. Events are normalized into a common structure and pushed into this queue through MODEL methods. The named queue for events is notifInterface::notifEventQueue. The method used to push an event into the queue is:

void pushEvent ( string encodedEvent, string sourceSystemId );

The encodedEvent is a pipe-separated ("|") string having the normalized format described in “Raw event normalization” on page 26. The sourceSystemId is a string identifying where this event came from.

The following example ASL file shows how a raw SNMP event is pushed into NOTIF:

rawEvent.asl
START {
 .. eol
}
do {
 queue = object("notifInterface", "notifEventQueue");
 if(queue->isNull()) {
  print(queue . " was null!");
  return;
 }

 eventTimeStamp = time();
 eventAgent = "192.168.1.100";
 enterprise = "TestECI";
 generic = "";
 specific = "";
 oid1 = "testOID";
 oidValue1 = "test value";

 completeString = eventTimeStamp . "|" . eventAgent . "|" . enterprise . "|" . generic . "|" . specific . "|" . oid1 . "|" . oidValue1;
 queue->pushEvent(completeString, "rawEvent.asl");
}