Simple Module LifecycleController

Package: inet.common.lifecycle
File: src/inet/common/lifecycle/LifecycleController.ned

C++ definition

Manages operations like shutdown/restart, suspend/resume, crash/recover and similar operations for nodes (routers, hosts, etc), interfaces, and protocols.

This module usually has only one instance in a network, and has no parameters -- operations can be initiated programmatically (from C++), or via ScenarioManager scripts. An example script:

<scenario>
  <at t="2s">
    <tell module="lifecycleController" target="Router2" operation="NodeShutdownOperation"/>
  </at>
  <at t="10s">
    <tell module="lifecycleController" target="Router2" operation="NodeStartOperation"/>
  </at>
</scenario>

The module attribute should point to the LifecycleController module instance.

The target attribute should point to the module (host, router, network interface, protocol, etc) to be operated on.

The operation attribute contains the operation to perform. Some known operations names are: NodeShutdownOperation, NodeCrashOperation, NodeStartOperation. To see all available operations, find the names of C++ classes subclassed from LifecycleOperation.

The details of the mechanism can be found in the C++ documentation of this module's class.

See also: ScenarioManager

LifecycleController

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Networks:

Name Type Description
AODVNetwork network (no description)
DHCPShutdownReboot network (no description)
DYMONetwork network

TODO

DynamicTest network (no description)
DynamicTest network (no description)
GPSRNetworkRandom network

TODO

LDPTEST network (no description)
LinkBreakA network (no description)
MixedNetwork network

TODO Auto-generated network

NClients network (no description)
NeighborCacheTest network (no description)
NetworkPathRIPShowcase network

TODO documentation

PowerConsumptionShowcase network (no description)
PowerNetwork network (no description)
RSVPTE4 network

Example network to demonstrate RSVP-TE.

RSVPTE4 network

Example network to demonstrate RSVP-TE.

RSVPTE4 network

Example network to demonstrate RSVP-TE.

RSVPTE4 network

Example network to demonstrate RSVP-TE.

RSVPTE4 network

Example network to demonstrate RSVP-TE.

ShortestPath network (no description)
SimpleRREQ network (no description)
SimpleRREQ2 network (no description)
SimpleTest network (no description)
SwitchNetwork network (no description)
TestNic network (no description)

Properties:

Name Value Description
display i=block/cogwheel_s

Source code:

//
// Manages operations like shutdown/restart, suspend/resume, crash/recover
// and similar operations for nodes (routers, hosts, etc), interfaces, and
// protocols.
//
// This module usually has only one instance in a network, and has no
// parameters -- operations can be initiated programmatically (from C++),
// or via ~ScenarioManager scripts. An example script:
//
// <pre>
// <scenario>
//   <at t="2s">
//     <tell module="lifecycleController" target="Router2" operation="NodeShutdownOperation"/>
//   </at>
//   <at t="10s">
//     <tell module="lifecycleController" target="Router2" operation="NodeStartOperation"/>
//   </at>
// </scenario>
// </pre>
//
// The <tt>module</tt> attribute should point to the LifecycleController
// module instance.
//
// The <tt>target</tt> attribute should point to the module (host, router,
// network interface, protocol, etc) to be operated on.
//
// The <tt>operation</tt> attribute contains the operation to perform. Some
// known operations names are: NodeShutdownOperation, NodeCrashOperation,
// NodeStartOperation. To see all available operations,
// find the names of C++ classes subclassed from LifecycleOperation.
//
// The details of the mechanism can be found in the C++ documentation of this
// module's class.
//
// @see ScenarioManager
//
simple LifecycleController
{
    @display("i=block/cogwheel_s");
}