gem5  v22.1.0.0
Public Member Functions | Protected Attributes | List of all members
gem5::DistEtherLink::Link Class Reference

Model base class for a single uni-directional link. More...

#include <dist_etherlink.hh>

Inheritance diagram for gem5::DistEtherLink::Link:
gem5::Serializable gem5::DistEtherLink::RxLink gem5::DistEtherLink::TxLink

Public Member Functions

 Link (const std::string &name, DistEtherLink *p, EtherDump *d, Event *e)
 
 ~Link ()
 
const std::string name () const
 
bool busy () const
 
void setLocalInt (LocalIface *i)
 
void serialize (CheckpointOut &cp) const override
 Serialize an object. More...
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object. More...
 
- Public Member Functions inherited from gem5::Serializable
 Serializable ()
 
virtual ~Serializable ()
 
void serializeSection (CheckpointOut &cp, const char *name) const
 Serialize an object into a new section. More...
 
void serializeSection (CheckpointOut &cp, const std::string &name) const
 
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object. More...
 
void unserializeSection (CheckpointIn &cp, const std::string &name)
 

Protected Attributes

std::string objName
 
DistEtherLinkparent
 
LocalIfacelocalIface
 
EtherDumpdump
 
DistIfacedistIface
 
Eventevent
 
EthPacketPtr packet
 

Additional Inherited Members

- Static Public Member Functions inherited from gem5::Serializable
static const std::string & currentSection ()
 Gets the fully-qualified name of the active section. More...
 
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it. More...
 

Detailed Description

Model base class for a single uni-directional link.

The link will encapsulate and transfer Ethernet packets to/from the message server.

Definition at line 80 of file dist_etherlink.hh.

Constructor & Destructor Documentation

◆ Link()

gem5::DistEtherLink::Link::Link ( const std::string &  name,
DistEtherLink p,
EtherDump d,
Event e 
)
inline

Definition at line 92 of file dist_etherlink.hh.

◆ ~Link()

gem5::DistEtherLink::Link::~Link ( )
inline

Definition at line 97 of file dist_etherlink.hh.

Member Function Documentation

◆ busy()

bool gem5::DistEtherLink::Link::busy ( ) const
inline

Definition at line 100 of file dist_etherlink.hh.

References packet.

Referenced by gem5::DistEtherLink::LocalIface::isBusy().

◆ name()

const std::string gem5::DistEtherLink::Link::name ( ) const
inline

Definition at line 99 of file dist_etherlink.hh.

References objName.

◆ serialize()

void gem5::DistEtherLink::Link::serialize ( CheckpointOut cp) const
overridevirtual

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Implements gem5::Serializable.

Definition at line 211 of file dist_etherlink.cc.

References SERIALIZE_SCALAR.

◆ setLocalInt()

void gem5::DistEtherLink::Link::setLocalInt ( LocalIface i)
inline

Definition at line 101 of file dist_etherlink.hh.

References gem5::ArmISA::i, and localIface.

Referenced by gem5::DistEtherLink::LocalIface::LocalIface().

◆ unserialize()

void gem5::DistEtherLink::Link::unserialize ( CheckpointIn cp)
overridevirtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Implements gem5::Serializable.

Definition at line 227 of file dist_etherlink.cc.

References gem5::MipsISA::event, and UNSERIALIZE_SCALAR.

Member Data Documentation

◆ distIface

DistIface* gem5::DistEtherLink::Link::distIface
protected

◆ dump

EtherDump* gem5::DistEtherLink::Link::dump
protected

Definition at line 86 of file dist_etherlink.hh.

◆ event

Event* gem5::DistEtherLink::Link::event
protected

Definition at line 88 of file dist_etherlink.hh.

◆ localIface

LocalIface* gem5::DistEtherLink::Link::localIface
protected

Definition at line 85 of file dist_etherlink.hh.

Referenced by setLocalInt().

◆ objName

std::string gem5::DistEtherLink::Link::objName
protected

Definition at line 83 of file dist_etherlink.hh.

Referenced by name().

◆ packet

EthPacketPtr gem5::DistEtherLink::Link::packet
protected

Definition at line 89 of file dist_etherlink.hh.

Referenced by busy().

◆ parent

DistEtherLink* gem5::DistEtherLink::Link::parent
protected

Definition at line 84 of file dist_etherlink.hh.


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

Generated on Wed Dec 21 2022 10:23:20 for gem5 by doxygen 1.9.1