SURVIVOR: Transmit Module Specification

Specification

  1. Transmit modules must be reentrant. That is, if a transmit module is run more than once simultaneously, all instances must run to completion without interference.

  2. Transmit modules must not change their process group by any means, including via setsid(), setpgid(), setpgrp(), or any similar function.

  3. Each module must place its source code in a directory underneath survivor/src/modules/transmit/ with the following conventions:
    1. The name of the directory must be transmit/modulename/.

    2. A Makefile.in must be present, with directives for clean, veryclean, all, install, and install-remote.

      The install should, except in exceptional circumstances, install the module into @prefix@/mod/transmit, owned by @INST_USER@ and @INST_GROUP@, mode 555.

      The install-remote directive should be the same as install, except where it does not make sense for the module to be installed as part of a remote distribution. (Transmit modules typically do not need to be installed remotely.)

    3. Documentation describing the module should be in doc/tmm-modulename.html

  4. Transmit modules do not accept any command line arguments, but instead receive their required data via a SurvivorFormattedAlertData element provided in an XML document on stdin.

  5. Transmit modules should not write output files.

  6. Transmit modules must not generate output.

  7. If the ReplyOK attribute in the SurvivorFormattedAlertData document is yes, then the scheduler is sending a message suitable for a two way reply. Transmit modules may honor this value or may change this value to no, however the value may not be changed from no to yes.

  8. Transmit modules must exit with one of the following values (as defined in include/survivor.H):
    • MODEXEC_OK: Alert transmitted successfully or successfully queued for transmission.
    • MODEXEC_PROBLEM: An error occurred in transmitting or queuing the alert.
    • MODEXEC_MISCONFIG: The module is misconfigured and is unable to transmit or queue the alert.


$Date: 2006/11/20 00:09:18 $
$Revision: 0.10 $
keywords