gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::DistEtherLink::LocalIface Class Reference

Interface to the local simulated system. More...

#include <dist_etherlink.hh>

Inheritance diagram for gem5::DistEtherLink::LocalIface:
gem5::EtherInt gem5::Port

Public Member Functions

 LocalIface (const std::string &name, TxLink *tx, RxLink *rx, DistIface *m)
 
bool recvPacket (EthPacketPtr pkt)
 
void sendDone ()
 
bool isBusy ()
 
- Public Member Functions inherited from gem5::EtherInt
 EtherInt (const std::string &name, int idx=InvalidPortID)
 
virtual ~EtherInt ()
 
const std::string & name () const
 Return port name (for DPRINTF).
 
void bind (Port &peer) override
 Attach to a peer port.
 
void unbind () override
 Dettach from a peer port.
 
void setPeer (EtherInt *p)
 
EtherIntgetPeer ()
 
void recvDone ()
 
bool sendPacket (EthPacketPtr packet)
 
bool askBusy ()
 
- Public Member Functions inherited from gem5::Port
virtual ~Port ()
 Virtual destructor due to inheritance.
 
PortgetPeer ()
 Return a reference to this port's peer.
 
const std::string name () const
 Return port name (for DPRINTF).
 
PortID getId () const
 Get the port id.
 
bool isConnected () const
 Is this port currently connected to a peer?
 
void takeOverFrom (Port *old)
 A utility function to make it easier to swap out ports.
 

Private Attributes

TxLinktxLink
 

Additional Inherited Members

- Protected Member Functions inherited from gem5::Port
void reportUnbound () const
 
 Port (const std::string &_name, PortID _id)
 Abstract base class for ports.
 
- Protected Attributes inherited from gem5::EtherInt
std::string portName
 
EtherIntpeer
 
- Protected Attributes inherited from gem5::Port
const PortID id
 A numeric identifier to distinguish ports in a vector, and set to InvalidPortID in case this port is not part of a vector.
 
Port_peer
 A pointer to this port's peer.
 
bool _connected
 Whether this port is currently connected to a peer port.
 

Detailed Description

Interface to the local simulated system.

Definition at line 188 of file dist_etherlink.hh.

Constructor & Destructor Documentation

◆ LocalIface()

gem5::DistEtherLink::LocalIface::LocalIface ( const std::string & name,
TxLink * tx,
RxLink * rx,
DistIface * m )

Member Function Documentation

◆ isBusy()

bool gem5::DistEtherLink::LocalIface::isBusy ( )
inlinevirtual

Reimplemented from gem5::EtherInt.

Definition at line 199 of file dist_etherlink.hh.

References gem5::DistEtherLink::Link::busy(), and txLink.

◆ recvPacket()

bool gem5::DistEtherLink::LocalIface::recvPacket ( EthPacketPtr pkt)
inlinevirtual

Implements gem5::EtherInt.

Definition at line 197 of file dist_etherlink.hh.

References gem5::DistEtherLink::TxLink::transmit(), and txLink.

◆ sendDone()

void gem5::DistEtherLink::LocalIface::sendDone ( )
inlinevirtual

Implements gem5::EtherInt.

Definition at line 198 of file dist_etherlink.hh.

References gem5::EtherInt::peer, and gem5::EtherInt::sendDone().

Referenced by gem5::DistEtherLink::TxLink::txDone().

Member Data Documentation

◆ txLink

TxLink* gem5::DistEtherLink::LocalIface::txLink
private

Definition at line 191 of file dist_etherlink.hh.

Referenced by isBusy(), and recvPacket().


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

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0