|
gem5 [DEVELOP-FOR-25.0]
|
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. | |
| bool | transmit (EthPacketPtr packet) |
| Initiate sending of a packet via this link. | |
Public Member Functions inherited from gem5::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. | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. | |
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. | |
| void | serializeSection (CheckpointOut &cp, const std::string &name) const |
| void | unserializeSection (CheckpointIn &cp, const char *name) |
| Unserialize an a child object. | |
| void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Protected Member Functions | |
| void | txDone () |
| Send done callback. | |
Protected Attributes | |
| double | ticksPerByte |
| Per byte send delay. | |
| Tick | delayVar |
| Random component of the send delay. | |
| EventFunctionWrapper | doneEvent |
| Random::RandomPtr | rng = Random::genRandom() |
Protected Attributes inherited from gem5::DistEtherLink::Link | |
| std::string | objName |
| DistEtherLink * | parent |
| LocalIface * | localIface |
| EtherDump * | dump |
| DistIface * | distIface |
| Event * | event |
| EthPacketPtr | packet |
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. | |
| static void | generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream) |
| Generate a checkpoint file so that the serialization can be routed to it. | |
Model for a send link.
Definition at line 111 of file dist_etherlink.hh.
|
inline |
Definition at line 132 of file dist_etherlink.hh.
References gem5::ArmISA::d, delayVar, gem5::DistEtherLink::DistEtherLink(), doneEvent, gem5::DistEtherLink::Link::Link(), gem5::DistEtherLink::Link::name(), gem5::MipsISA::p, ticksPerByte, and txDone().
|
inline |
Definition at line 136 of file dist_etherlink.hh.
|
inline |
Register the dist interface to be used to talk to the peer gem5 processes.
Definition at line 142 of file dist_etherlink.hh.
References gem5::DistEtherLink::Link::distIface, and gem5::ArmISA::m.
Referenced by gem5::DistEtherLink::LocalIface::LocalIface().
| bool gem5::DistEtherLink::TxLink::transmit | ( | EthPacketPtr | packet | ) |
Initiate sending of a packet via this link.
| packet | Ethernet packet to send |
Definition at line 187 of file dist_etherlink.cc.
References gem5::DistEtherLink::Link::busy(), gem5::curTick(), delayVar, gem5::DistEtherLink::Link::distIface, doneEvent, DPRINTF, gem5::DistEtherLink::Link::packet, gem5::DistEtherLink::Link::parent, rng, and ticksPerByte.
|
protected |
Send done callback.
Called from doneEvent.
Definition at line 175 of file dist_etherlink.cc.
References gem5::DistEtherLink::Link::busy(), gem5::DistEtherLink::Link::dump, gem5::DistEtherLink::Link::localIface, and gem5::DistEtherLink::Link::packet.
Referenced by TxLink().
|
protected |
Random component of the send delay.
Definition at line 121 of file dist_etherlink.hh.
Referenced by transmit(), and TxLink().
|
protected |
Definition at line 127 of file dist_etherlink.hh.
Referenced by transmit(), and TxLink().
|
protected |
Definition at line 129 of file dist_etherlink.hh.
Referenced by transmit().
|
protected |
Per byte send delay.
Definition at line 117 of file dist_etherlink.hh.
Referenced by transmit(), and TxLink().