SST 15.0
Structural Simulation Toolkit
SST::Interfaces::StandardMem::Request Class Referenceabstract

Base class for StandardMem commands. More...

#include <stdMem.h>

Inheritance diagram for SST::Interfaces::StandardMem::Request:
SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base SST::Interfaces::StandardMem::CustomReq SST::Interfaces::StandardMem::CustomResp SST::Interfaces::StandardMem::FlushAddr SST::Interfaces::StandardMem::FlushCache SST::Interfaces::StandardMem::FlushResp SST::Interfaces::StandardMem::InvNotify SST::Interfaces::StandardMem::LoadLink SST::Interfaces::StandardMem::MoveData SST::Interfaces::StandardMem::Read SST::Interfaces::StandardMem::ReadLock SST::Interfaces::StandardMem::ReadResp SST::Interfaces::StandardMem::StoreConditional SST::Interfaces::StandardMem::Write SST::Interfaces::StandardMem::WriteResp SST::Interfaces::StandardMem::WriteUnlock

Public Types

enum class  Flag { F_NONCACHEABLE = 1 << 1 , F_FAIL = 1 << 2 , F_TRACE = 1 << 3 , F_RESERVED = 1 << 16 }
 Flags that modify requests. More...
 
using id_t = uint64_t
 
using flags_t = uint32_t
 

Public Member Functions

 Request (flags_t fl=0)
 
 Request (id_t rid, flags_t flags=0)
 
id_t getID ()
 
virtual RequestmakeResponse ()=0
 
virtual bool needsResponse ()=0
 
virtual SST::Eventconvert (RequestConverter *converter)=0
 
virtual void handle (RequestHandler *handler)=0
 
virtual std::string getString ()=0
 
void setNoncacheable ()
 
void unsetNoncacheable ()
 
bool getNoncacheable ()
 
void setSuccess ()
 
void unsetSuccess ()
 
bool getSuccess ()
 
bool getFail ()
 
void setFail ()
 
void unsetFail ()
 
void setTrace ()
 
void unsetTrace ()
 
bool getTrace ()
 
void setFlag (flags_t flag)
 
void setFlag (Flag flag)
 
void unsetFlag (flags_t flag)
 
void unsetFlag (Flag flag)
 
bool getFlag (flags_t flag)
 
bool getFlag (Flag flag)
 
void clearAllFlags ()
 
flags_t getAllFlags ()
 
std::string getFlagString ()
 
 ImplementVirtualSerializable (SST::Interfaces::StandardMem::Request)
 
virtual void serialize_order (SST::Core::Serialization::serializer &ser) override
 
- Public Member Functions inherited from SST::Core::Serialization::serializable_base
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Protected Attributes

id_t id
 
flags_t flags
 

Additional Inherited Members

- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- Static Public Attributes inherited from SST::Core::Serialization::serializable_base
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- Protected Types inherited from SST::Core::Serialization::serializable_base
enum  cxn_flag_t { ConstructorFlag }
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable_base
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)
 

Detailed Description

Base class for StandardMem commands.

Member Enumeration Documentation

◆ Flag

Flags that modify requests.

Each bit in a 32-bit field (flags_t) defines a seperate flag. Values less than F_RESERVED are reserved for futgure expansion. Users may define custom flags above F_RESERVED

Member Function Documentation

◆ makeResponse()

virtual Request * SST::Interfaces::StandardMem::Request::makeResponse ( )
pure virtual

◆ serialize_order()

virtual void SST::Interfaces::StandardMem::Request::serialize_order ( SST::Core::Serialization::serializer & ser)
inlineoverridevirtual

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