[Click] Blocking queue element?
Charles Reis
creis at cs.washington.edu
Thu Sep 30 11:22:58 EDT 2004
Sounds great!
At the moment, Click isn't compiling for me, though-- looks like a
possible inconsistency between LinkTable and DSRRouteTable?
Charlie
g++ -w -W -Wall -fno-exceptions -fno-rtti -fvtable-thunks
-DHAVE_CONFIG_H -I../include -I../include -I. -I..
-I/scratch/wireless/drivers/../kernels/linux-2.4.26-UP-click/include
-I/scratch/wireless/drivers/stripped/click_wifi -DCLICK_LINUXMODULE -O2
-MD -c ../elements/grid/dsrroutetable.cc
../elements/grid/dsrroutetable.cc: In method `void DSRRouteTable::push
(int, Packet *)':
../elements/grid/dsrroutetable.cc:755: no matching function for call to
`LinkTable::update_both_links (IPAddress &, IPAddress &, int)'
../elements/wifi/linktable.hh:82: candidates are: bool
LinkTable::update_both_links (IPAddress, IPAddress, unsigned int,
unsigned int)
../elements/grid/dsrroutetable.cc:858: no matching function for call to
`LinkTable::update_both_links (IPAddress &, IPAddress &, int)'
../elements/wifi/linktable.hh:82: candidates are: bool
LinkTable::update_both_links (IPAddress, IPAddress, unsigned int,
unsigned int)
../elements/grid/dsrroutetable.cc: In method `void
DSRRouteTable::add_route_to_link_table (Vector<DSRHop>)':
../elements/grid/dsrroutetable.cc:1799: no matching function for call
to `LinkTable::update_both_links (IPAddress &, IPAddress &, int)'
../elements/wifi/linktable.hh:82: candidates are: bool
LinkTable::update_both_links (IPAddress, IPAddress, unsigned int,
unsigned int)
../elements/grid/dsrroutetable.cc:1801: no matching function for call
to `LinkTable::update_both_links (IPAddress &, IPAddress &, unsigned
char &)'
../elements/wifi/linktable.hh:82: candidates are: bool
LinkTable::update_both_links (IPAddress, IPAddress, unsigned int,
unsigned int)
Eddie Kohler wrote:
> Hi guys,
>
> I implemented a little something that may simulate this "blocking queue".
>
> Try a "FullNoteQueue" in place of a Queue. The "FullNoteQueue" has a
> notifier bit that it turns on when it is full. The upstream FromHost
> now looks downstream for this kind of bit, and I believe (not super well
> tested) that it will correctly tell Linux that the device is "busy"
> until the FullNoteQueue drains.
>
> There are a couple reasons why this might fail. If the path branches
> after FromHost, and there are any regular Queues or Discards or anything
> other than FullNoteQueues, then it will fail "gracefully" back to the
> old behavior.
>
> Anyway, let me know if this works or doesn't!
> Eddie
More information about the click
mailing list