Skip to main content

recvUntimedData

virtual Request* recvUntimedData() = 0;

Receive messages from the interface during SST's init() and complete() phases. A registered callback handler is not used during these phases so the parent must use this function to poll for messages if any are expected.

Requirements

Memory interface  
Facilitate returning messages to an endpoint via this function.

Endpoint  
Use this function to get messages during SST's init() and complete() phases if needed.

Parameters

  • returns (Request*) A pointer to a Request if one is available, otherwise nullptr

Examples

Example 1: Implementing recvUntimedData() in a StandardMem interface

Request* StandardMemClassName::recvUntimedData()
{
if ( !receivedUntimedMessages.empty() )
{
Request* top = receivedUntimedMessages.front();
receivedUntimedMessages.pop():
return top;
}
return nullptr;
}

Example 2: Using recvUntimedData from an endpoint

void Endpoint::complete(unsigned int phase)
{
while ( (Request* req = mem_iface->recvUntimedData()) ) {
/* Handle request */
delete req;
}
}
#include <sst/core/interfaces/stdMem.h>