32 #ifndef __MEM_RUBY_STRUCTURES_WIREBUFFER_HH__
33 #define __MEM_RUBY_STRUCTURES_WIREBUFFER_HH__
41 #include "params/RubyWireBuffer.hh"
83 void print(std::ostream& out)
const;
101 #endif // __MEM_RUBY_STRUCTURES_WireBuffer_HH__
std::shared_ptr< Message > MsgPtr
void enqueue(MsgPtr message, Tick current_time, Tick delta)
WireBuffer & operator=(const WireBuffer &obj)
void setDescription(const std::string &name)
bool areNSlotsAvailable(int n, Tick current_time)
void setConsumer(Consumer *consumer_ptr)
RubyWireBufferParams Params
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
uint64_t Tick
Tick count type.
void recycle(Tick current_time, Tick recycle_latency)
void dequeue(Tick current_time)
std::string m_description
Consumer * m_consumer_ptr
virtual const std::string name() const
WireBuffer(const Params *p)
void print(std::ostream &out) const
std::string getDescription()
bool isReady(Tick current_time)
std::vector< MsgPtr > m_message_queue
Abstract superclass for simulation objects.
std::ostream & operator<<(std::ostream &out, const WireBuffer &obj)