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