hi - how can say a roundrobinscheduler element get information about an
upstream queue? something like
Queue *q = (Queue*)input(j).element();
q->getColor();
in the downstream element does not work...
for example, if the upstream queue has a new member called _color, then the
scheduler needs to know if _color of the upstream queue is say red or green....
thanks!
venky
________
details:
________
i tried this in the scheduler's pull function but it gives weird numbers
instead...assume the Queue class has a simple int member which stores color and
which is returned by public getColor().
Packet *
RoundRobinSched::pull(int)
{
int n = ninputs();
int i = _next;
for (int j = 0; j < n; j++) {
Queue *q = (Queue*)input(j).element();
click_chatter("upstream queue %i has a color %i", j, q->getColor();)
Packet *p = (_signals[i] ? input(i).pull() : 0);
i++;
if (i >= n)
i = 0;
if (p) {
_next = i;
return p;
}
}
return 0;
}
---------------------------------
See the all-new, redesigned Yahoo.com. Check it out.
_______________________________________________
click mailing list
[email protected]
https://amsterdam.lcs.mit.edu/mailman/listinfo/click