gem5 v24.0.0.0
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
 

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 110 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

Definition at line 129 of file dist_etherlink.hh.

References txDone().

◆ ~TxLink()

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

Definition at line 133 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 139 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 188 of file dist_etherlink.cc.

References gem5::curTick(), gem5::DistEtherLink::distIface, DPRINTF, gem5::DistIface::packetOut(), gem5::Random::random(), and gem5::random_mt.

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

◆ txDone()

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

Send done callback.

Called from doneEvent.

Definition at line 176 of file dist_etherlink.cc.

References gem5::statistics::dump(), gem5::DistEtherLink::localIface, and gem5::DistEtherLink::LocalIface::sendDone().

Referenced by TxLink().

Member Data Documentation

◆ delayVar

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

Random component of the send delay.

Definition at line 120 of file dist_etherlink.hh.

◆ doneEvent

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

Definition at line 126 of file dist_etherlink.hh.

◆ ticksPerByte

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

Per byte send delay.

Definition at line 116 of file dist_etherlink.hh.


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

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0