gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::DistEtherLink::TxLink Class Reference

Model for a send link. More...

#include <dist_etherlink.hh>

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

Public Member Functions

 TxLink (const std::string &name, DistEtherLink *p, double invBW, Tick delay_var, EtherDump *d)
 ~TxLink ()
void setDistInt (DistIface *m)
 Register the dist interface to be used to talk to the peer gem5 processes.
bool transmit (EthPacketPtr packet)
 Initiate sending of a packet via this link.
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.
void serializeSection (CheckpointOut &cp, const std::string &name) const
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object.
void unserializeSection (CheckpointIn &cp, const std::string &name)

Protected Member Functions

void txDone ()
 Send done callback.

Protected Attributes

double ticksPerByte
 Per byte send delay.
Tick delayVar
 Random component of the send delay.
EventFunctionWrapper doneEvent
Random::RandomPtr rng = Random::genRandom()

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.
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it.

Detailed Description

Model for a send link.

Definition at line 111 of file dist_etherlink.hh.

Constructor & Destructor Documentation

◆ TxLink()

gem5::DistEtherLink::TxLink::TxLink ( const std::string & name,
DistEtherLink * p,
double invBW,
Tick delay_var,
EtherDump * d )
inline

◆ ~TxLink()

gem5::DistEtherLink::TxLink::~TxLink ( )
inline

Definition at line 136 of file dist_etherlink.hh.

Member Function Documentation

◆ setDistInt()

void gem5::DistEtherLink::TxLink::setDistInt ( DistIface * m)
inline

Register the dist interface to be used to talk to the peer gem5 processes.

Definition at line 142 of file dist_etherlink.hh.

References gem5::DistEtherLink::Link::distIface, and gem5::ArmISA::m.

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

◆ transmit()

bool gem5::DistEtherLink::TxLink::transmit ( EthPacketPtr packet)

Initiate sending of a packet via this link.

Parameters
packetEthernet packet to send

Definition at line 187 of file dist_etherlink.cc.

References gem5::DistEtherLink::Link::busy(), gem5::curTick(), delayVar, gem5::DistEtherLink::Link::distIface, doneEvent, DPRINTF, gem5::DistEtherLink::Link::packet, gem5::DistEtherLink::Link::parent, rng, and ticksPerByte.

◆ txDone()

void gem5::DistEtherLink::TxLink::txDone ( )
protected

Send done callback.

Called from doneEvent.

Definition at line 175 of file dist_etherlink.cc.

References gem5::DistEtherLink::Link::busy(), gem5::DistEtherLink::Link::dump, gem5::DistEtherLink::Link::localIface, and gem5::DistEtherLink::Link::packet.

Referenced by TxLink().

Member Data Documentation

◆ delayVar

Tick gem5::DistEtherLink::TxLink::delayVar
protected

Random component of the send delay.

Definition at line 121 of file dist_etherlink.hh.

Referenced by transmit(), and TxLink().

◆ doneEvent

EventFunctionWrapper gem5::DistEtherLink::TxLink::doneEvent
protected

Definition at line 127 of file dist_etherlink.hh.

Referenced by transmit(), and TxLink().

◆ rng

Random::RandomPtr gem5::DistEtherLink::TxLink::rng = Random::genRandom()
protected

Definition at line 129 of file dist_etherlink.hh.

Referenced by transmit().

◆ ticksPerByte

double gem5::DistEtherLink::TxLink::ticksPerByte
protected

Per byte send delay.

Definition at line 117 of file dist_etherlink.hh.

Referenced by transmit(), and TxLink().


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

Generated on Sat Oct 18 2025 08:06:50 for gem5 by doxygen 1.14.0