[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