gem5
|
Model for a send link. More...
#include <dist_etherlink.hh>
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 DistEtherLink::Link | |
Link (const std::string &name, DistEtherLink *p, EtherDump *d, Event *e) | |
~Link () | |
const std::string | name () const |
bool | busy () const |
void | setLocalInt (LocalIface *i) |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. 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::txDone > | DoneEvent |
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 |
Protected Attributes inherited from DistEtherLink::Link | |
std::string | objName |
DistEtherLink * | parent |
LocalIface * | localIface |
EtherDump * | dump |
DistIface * | distIface |
Event * | event |
EthPacketPtr | packet |
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 |
Model for a send link.
Definition at line 105 of file dist_etherlink.hh.
|
protected |
Definition at line 121 of file dist_etherlink.hh.
|
inline |
Definition at line 126 of file dist_etherlink.hh.
|
inline |
Definition at line 130 of file dist_etherlink.hh.
|
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.
packet | Ethernet 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().
|
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().
|
friend |
|
protected |
Random component of the send delay.
Definition at line 115 of file dist_etherlink.hh.
|
protected |
Definition at line 123 of file dist_etherlink.hh.
|
protected |
Per byte send delay.
Definition at line 111 of file dist_etherlink.hh.