45 #ifndef __DEV_NET_ETHERLINK_HH__ 46 #define __DEV_NET_ETHERLINK_HH__ 53 #include "params/EtherLink.hh" 149 return dynamic_cast<const Params *
>(
_params);
160 #endif // __DEV_NET_ETHERLINK_HH__ EventFunctionWrapper txQueueEvent
std::deque< std::pair< Tick, EthPacketPtr > > txQueue
Maintain a queue of in-flight packets.
void txComplete(EthPacketPtr packet)
Ports are used to interface objects to each other.
void unserialize(const std::string &base, CheckpointIn &cp)
const PortID InvalidPortID
const std::string objName
EventFunctionWrapper doneEvent
Link(const std::string &name, EtherLink *p, int num, double rate, Tick delay, Tick delay_var, EtherDump *dump)
uint64_t Tick
Tick count type.
EtherLink(const Params *p)
const std::string name() const
bool recvPacket(EthPacketPtr packet)
std::shared_ptr< EthPacketData > EthPacketPtr
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
std::ostream CheckpointOut
const double ticksPerByte
const SimObjectParams * _params
Cached copy of the object parameters.
void setRxInt(Interface *i)
bool transmit(EthPacketPtr packet)
void setTxInt(Interface *i)
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
const Params * params() const
Abstract superclass for simulation objects.
void serialize(const std::string &base, CheckpointOut &cp) const
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.