#include "cache.h" CACHE queryCache; int CACHE::insertEntry(C_ENT newEnt) { index++; qCache[index] = newEnt; qCache[index].alive_since = 1000; //TODO fix this return 1; } int CACHE::deleteEntry(unsigned int src, unsigned int dest) { int tmp = -1; if((tmp = searchEntry(src, dest)) != -1) { qCache[tmp] = qCache[index]; index--; return 0;//success } return -1; //failure } int CACHE::searchEntry(unsigned int src, unsigned int dest) { for(int i=0; i <= index; i++) { if(qCache[i].source == src && qCache[i].target == dest) { return i; //sucess, found it } } return -1;//failure } C_ENT CACHE::getEntry(int idx) { return qCache[idx]; } /* void main() { CACHE c; C_ENT tmp; tmp.target = 1; tmp.source = 1; c.insertEntry(tmp); tmp.target = 2; tmp.source = 2; c.insertEntry(tmp); tmp.target = 3; tmp.source = 3; c.insertEntry(tmp); tmp.target = 4; tmp.source = 4; c.insertEntry(tmp); c.displayEntry(c.getEntry(c.searchEntry(1, 1))); c.displayEntry(c.getEntry(c.searchEntry(2, 2))); c.displayEntry(c.getEntry(c.searchEntry(3, 3))); c.displayEntry(c.getEntry(c.searchEntry(4, 4))); } */