gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | 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 Types

typedef EventWrapper< TxLink,&TxLink::txDoneDoneEvent
 

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...
 
DoneEvent doneEvent
 

Friends

void DoneEvent::process ()
 

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.

Member Typedef Documentation

Definition at line 121 of file dist_etherlink.hh.

Constructor & Destructor Documentation

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

Definition at line 126 of file dist_etherlink.hh.

DistEtherLink::TxLink::~TxLink ( )
inline

Definition at line 130 of file dist_etherlink.hh.

Member Function Documentation

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

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

Definition at line 136 of file dist_etherlink.hh.

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

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

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

Initiate sending of a packet via this link.

Parameters
packetEthernet packet to send

Definition at line 193 of file dist_etherlink.cc.

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

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

void DistEtherLink::TxLink::txDone ( )
protected

Send done callback.

Called from doneEvent.

Definition at line 181 of file dist_etherlink.cc.

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

Friends And Related Function Documentation

void DoneEvent::process ( )
friend

Member Data Documentation

Tick DistEtherLink::TxLink::delayVar
protected

Random component of the send delay.

Definition at line 115 of file dist_etherlink.hh.

DoneEvent DistEtherLink::TxLink::doneEvent
protected

Definition at line 123 of file dist_etherlink.hh.

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 Jun 9 2017 13:04:07 for gem5 by doxygen 1.8.6