Skip to main content

destructor

~PortModuleClassName();

SST calls each port module's destructor prior to exiting.

Parameters

  • returns none

Example

Example PortModule that randomly drops events; header file
class DropEvent : public SST::PortModule
{
public:
SST_ELI_REGISTER_PORTMODULE(
DropEvent, // Class name
"example", // Library name, the 'lib' in SST's lib.name format
"drop", // Name used to refer to this port module, the 'name' in SST's lib.name format
SST_ELI_ELEMENT_VERSION(1,0,0), // A version number
"Randomly drops events") // Description
)

SST_ELI_DOCUMENT_PARAMS(
{ "drop_probability", "Set the probability of a dropped event between 0\% and 100\%", "10",},
{ "seed", "Seed to use for random number generation", "1" }
)

DropEvent(Params& params);
~DropEvent();

void eventSent(uintptr_t key, Event*& ev) override;
void interceptHandler(uintptr_t key, Event*& ev, bool& cancel) override;

bool installOnReceive() override { return true; }
bool installOnSend() override { return false; }

private:
SST::RNG::MersenneRNG * rng;
uint32_t probability;
};
Example constructor implementation for above class
~DropEvent::DropEvent()
{
delete rng;
}
#include <sst/core/portModule.h>