gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Protected Attributes | List of all members
EtherSwitch::Interface::PortFifo Class Reference

#include <etherswitch.hh>

Inheritance diagram for EtherSwitch::Interface::PortFifo:
Serializable

Classes

struct  EntryOrder
 

Public Member Functions

 PortFifo (const std::string &name, int max)
 
 ~PortFifo ()
 
const std::string name ()
 
int avail () const
 
EthPacketPtr front ()
 
bool empty () const
 
unsigned size () const
 
bool push (EthPacketPtr ptr, unsigned senderId)
 Push a packet into the fifo and sort the packets with same recv tick by port id. More...
 
void pop ()
 
void clear ()
 
void serialize (CheckpointOut &cp) const
 Serialization stuff. More...
 
void unserialize (CheckpointIn &cp)
 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 Attributes

std::set< PortFifoEntry,
EntryOrder
fifo
 
const std::string objName
 
const unsigned _maxsize
 
unsigned _size
 

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

Definition at line 121 of file etherswitch.hh.

Constructor & Destructor Documentation

EtherSwitch::Interface::PortFifo::PortFifo ( const std::string &  name,
int  max 
)
inline

Definition at line 141 of file etherswitch.hh.

EtherSwitch::Interface::PortFifo::~PortFifo ( )
inline

Definition at line 143 of file etherswitch.hh.

Member Function Documentation

int EtherSwitch::Interface::PortFifo::avail ( ) const
inline

Definition at line 151 of file etherswitch.hh.

References _maxsize, and _size.

Referenced by push().

void EtherSwitch::Interface::PortFifo::clear ( )

Definition at line 122 of file etherswitch.cc.

bool EtherSwitch::Interface::PortFifo::empty ( ) const
inline

Definition at line 154 of file etherswitch.hh.

References _size.

Referenced by push().

EthPacketPtr EtherSwitch::Interface::PortFifo::front ( )
inline

Definition at line 153 of file etherswitch.hh.

References fifo.

const std::string EtherSwitch::Interface::PortFifo::name ( )
inline

Definition at line 145 of file etherswitch.hh.

References objName.

void EtherSwitch::Interface::PortFifo::pop ( )

Definition at line 110 of file etherswitch.cc.

bool EtherSwitch::Interface::PortFifo::push ( EthPacketPtr  ptr,
unsigned  senderId 
)

Push a packet into the fifo and sort the packets with same recv tick by port id.

Definition at line 78 of file etherswitch.cc.

References _maxsize, _size, avail(), curTick(), DPRINTF, empty(), fifo, and warn.

void EtherSwitch::Interface::PortFifo::serialize ( CheckpointOut cp) const
virtual

Serialization stuff.

Implements Serializable.

Definition at line 321 of file etherswitch.cc.

References csprintf(), ArmISA::i, and SERIALIZE_SCALAR.

unsigned EtherSwitch::Interface::PortFifo::size ( ) const
inline

Definition at line 155 of file etherswitch.hh.

References _size.

void EtherSwitch::Interface::PortFifo::unserialize ( CheckpointIn cp)
virtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Implements Serializable.

Definition at line 334 of file etherswitch.cc.

References csprintf(), ArmISA::i, UNSERIALIZE_SCALAR, and Serializable::unserializeSection().

Member Data Documentation

const unsigned EtherSwitch::Interface::PortFifo::_maxsize
protected

Definition at line 137 of file etherswitch.hh.

Referenced by avail(), and push().

unsigned EtherSwitch::Interface::PortFifo::_size
protected

Definition at line 138 of file etherswitch.hh.

Referenced by avail(), empty(), push(), and size().

std::set<PortFifoEntry, EntryOrder> EtherSwitch::Interface::PortFifo::fifo
protected

Definition at line 134 of file etherswitch.hh.

Referenced by front(), and push().

const std::string EtherSwitch::Interface::PortFifo::objName
protected

Definition at line 136 of file etherswitch.hh.

Referenced by name().


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

Generated on Fri Jun 9 2017 13:04:09 for gem5 by doxygen 1.8.6