SST  14.0.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=nullptr)
 
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
 
bool allow_adaptive
 

Protected Attributes

TraceType trace
 
int traceID
 

Additional Inherited Members

- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- 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 nullptr, so deleting the request 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 nullptr, 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

◆ allow_adaptive

bool SST::Interfaces::SimpleNetwork::Request::allow_adaptive

Indicates whether adaptive routing is allowed or not.

◆ dest

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

Node ID of destination

◆ head

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

True if this is the head of a stream

◆ size_in_bits

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

Size of packet in bits

◆ src

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

Node ID of source

◆ tail

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

True if this is the tail of a steram

◆ vn

int SST::Interfaces::SimpleNetwork::Request::vn

Virtual network of packet


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