/* * Fifo.cpp * * Created on: Mar 19, 2014 * Author: robert */ #include "Fifo.h" namespace scheduler { bool Fifo::hasTransactionForBank(Bank bank) { return !buffer[bank].empty(); } void Fifo::schedule(gp* payload) { buffer[DramExtension::getExtension(payload).getBank()].push_back(payload); } gp* Fifo::getTransactionForBank(Bank bank) { sc_assert(hasTransactionForBank(bank)); gp* result = buffer[bank].front(); return result; } void Fifo::popTransactionForBank(Bank bank, gp* payload) { sc_assert(DramExtension::getExtension(payload).getBank() == bank); buffer[bank].pop_front(); } } /* namespace scheduler */