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

Model for a send link. More...

#include <dist_etherlink.hh>

Inheritance diagram for DistEtherLink::TxLink:
DistEtherLink::Link 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 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 Serializable
static const std::string & currentSection ()
 Gets the fully-qualified name of the active section. More...
 
static void serializeAll (const std::string &cpt_dir)
 Serializes all the SimObjects. More...
 
static void unserializeGlobals (CheckpointIn &cp)
 

Detailed Description

Model for a send link.

Definition at line 103 of file dist_etherlink.hh.

Constructor & Destructor Documentation

◆ TxLink()

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

Definition at line 122 of file dist_etherlink.hh.

References txDone().

◆ ~TxLink()

DistEtherLink::TxLink::~TxLink ( )
inline

Definition at line 126 of file dist_etherlink.hh.

Member Function Documentation

◆ setDistInt()

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

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

Definition at line 132 of file dist_etherlink.hh.

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

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

◆ transmit()

bool 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 curTick(), DistEtherLink::distIface, DPRINTF, DistIface::packetOut(), Random::random(), and random_mt.

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

◆ txDone()

void DistEtherLink::TxLink::txDone ( )
protected

Send done callback.

Called from doneEvent.

Definition at line 175 of file dist_etherlink.cc.

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

Referenced by TxLink().

Member Data Documentation

◆ delayVar

Tick DistEtherLink::TxLink::delayVar
protected

Random component of the send delay.

Definition at line 113 of file dist_etherlink.hh.

◆ doneEvent

EventFunctionWrapper DistEtherLink::TxLink::doneEvent
protected

Definition at line 119 of file dist_etherlink.hh.

◆ ticksPerByte

double DistEtherLink::TxLink::ticksPerByte
protected

Per byte send delay.

Definition at line 109 of file dist_etherlink.hh.


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

Generated on Wed Sep 30 2020 14:02:23 for gem5 by doxygen 1.8.17