gem5  v21.1.0.2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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. More...
 
bool transmit (EthPacketPtr packet)
 Initiate sending of a packet via this link. 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 Member Functions

void txDone ()
 Send done callback. More...
 

Protected Attributes

double ticksPerByte
 Per byte send delay. More...
 
Tick delayVar
 Random component of the send delay. More...
 
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. 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 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 Sep 21 2021 12:27:29 for gem5 by doxygen 1.8.17