gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 ()
 Get the fully-qualified name of the active section. More...
 
static void serializeAll (const std::string &cpt_dir)
 
static void unserializeGlobals (CheckpointIn &cp)
 
- Static Public Attributes inherited from Serializable
static int ckptCount = 0
 
static int ckptMaxCount = 0
 
static int ckptPrevCount = -1
 

Detailed Description

Model for a send link.

Definition at line 105 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 124 of file dist_etherlink.hh.

References DistEtherLink::Link::name().

◆ ~TxLink()

DistEtherLink::TxLink::~TxLink ( )
inline

Definition at line 128 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 134 of file dist_etherlink.hh.

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

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 189 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 177 of file dist_etherlink.cc.

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

Member Data Documentation

◆ delayVar

Tick DistEtherLink::TxLink::delayVar
protected

Random component of the send delay.

Definition at line 115 of file dist_etherlink.hh.

◆ doneEvent

EventFunctionWrapper DistEtherLink::TxLink::doneEvent
protected

Definition at line 121 of file dist_etherlink.hh.

◆ ticksPerByte

double DistEtherLink::TxLink::ticksPerByte
protected

Per byte send delay.

Definition at line 111 of file dist_etherlink.hh.


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

Generated on Fri Feb 28 2020 16:27:10 for gem5 by doxygen 1.8.13