SST  7.2.0
StructuralSimulationToolkit
SST::Interfaces::SimpleNetwork::Request Class Reference

Represents both network sends and receives. More...

#include <simpleNetwork.h>

Inheritance diagram for SST::Interfaces::SimpleNetwork::Request:
SST::Core::Serialization::serializable SST::Core::Serialization::serializable_type< Request >

Public Types

enum  TraceType { NONE, ROUTE, FULL }
 Trace types. More...
 

Public Member Functions

void givePayload (Event *event)
 Sets the payload field for this request. More...
 
EventtakePayload ()
 Returns the payload for the request. More...
 
EventinspectPayload ()
 Returns the payload for the request for inspection. More...
 
 Request ()
 Constructor.
 
 Request (nid_t dest, nid_t src, size_t size_in_bits, bool head, bool tail, Event *payload=NULL)
 
Requestclone ()
 
void setTraceID (int id)
 
void setTraceType (TraceType type)
 
int getTraceID ()
 
TraceType getTraceType ()
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
- Public Member Functions inherited from SST::Core::Serialization::serializable
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Data Fields

nid_t dest
 
nid_t src
 
int vn
 
size_t size_in_bits
 
bool head
 
bool tail
 

Protected Attributes

TraceType trace
 
int traceID
 

Additional Inherited Members

- Protected Types inherited from SST::Core::Serialization::serializable
enum  cxn_flag_t { ConstructorFlag }
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)
 

Detailed Description

Represents both network sends and receives.

Member Enumeration Documentation

◆ TraceType

Trace types.

Enumerator
NONE 

No tracing enabled

ROUTE 

Trace route information only

FULL 

Trace all movements of packets through network

Member Function Documentation

◆ givePayload()

void SST::Interfaces::SimpleNetwork::Request::givePayload ( Event event)
inline

Sets the payload field for this request.

Parameters
payload_inEvent to set as payload.

◆ inspectPayload()

Event* SST::Interfaces::SimpleNetwork::Request::inspectPayload ( )
inline

Returns the payload for the request for inspection.

This call does not set the payload to NULL, so deleting the reqeust will also delete the payload. If the request is going to be deleted, use takePayload instead.

Returns
Event that was set as payload of the request.

◆ takePayload()

Event* SST::Interfaces::SimpleNetwork::Request::takePayload ( )
inline

Returns the payload for the request.

This will also set the payload to NULL, so the call will only return valid data one time after each givePayload call.

Returns
Event that was set as payload of the request.

Field Documentation

◆ dest

nid_t SST::Interfaces::SimpleNetwork::Request::dest

Node ID of destination

Referenced by Request().

◆ head

bool SST::Interfaces::SimpleNetwork::Request::head

True if this is the head of a stream

Referenced by Request().

◆ size_in_bits

size_t SST::Interfaces::SimpleNetwork::Request::size_in_bits

Size of packet in bits

Referenced by Request().

◆ src

nid_t SST::Interfaces::SimpleNetwork::Request::src

Node ID of source

Referenced by Request().

◆ tail

bool SST::Interfaces::SimpleNetwork::Request::tail

True if this is the tail of a steram

Referenced by Request().

◆ vn


The documentation for this class was generated from the following file: