EMANE  1.0.1
Transport Boundary Plugin

Below are a list of steps necessary to create a loadable Transport Boundary plugin. Order is not important and each step is not as simple as it sounds. This is merely a plugin API checklist.

  1. Derive your Transport Boundary from Transport
  2. Override all of the Component state transition methods:
    • initialize
      • Register plugin configuration items and an optional configuration validator
      • Register plugin statistics and statistic tables
      • Register plugin events of interest
    • configure
      • Process all loaded configuration
    • start
      • Emulation starts at the conclusion of this method. Do any startup logic.
    • postStart
      • All components in the NEM layer stack are now in the start state. Do any cross layer startup handshaking.
    • stop
      • Opposite of start. Do any tear down logic.
    • destroy
      • Opposite of initialize. Do any cleanup logic.
  3. Override all the methods for handling packet and control messages:
  4. If your plugin will be processing events you will need to override:
  5. If your plugin will be scheduling timed events you will need to override:
  6. If your plugin will allow running-state configuration modifications you will need to override:
  7. Add the appropriate functionality to supply the application/emulation entry/exit mechanism.
  8. Declare your plugin using DECLARE_TRANSPORT