[svn] commit: r3726 - /branches/trac408/src/lib/nsas/TODO
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Dec 6 11:08:23 UTC 2010
Author: vorner
Date: Mon Dec 6 11:08:23 2010
New Revision: 3726
Log:
Note to TODO
Modified:
branches/trac408/src/lib/nsas/TODO
Modified: branches/trac408/src/lib/nsas/TODO
==============================================================================
--- branches/trac408/src/lib/nsas/TODO (original)
+++ branches/trac408/src/lib/nsas/TODO Mon Dec 6 11:08:23 2010
@@ -13,7 +13,9 @@
will be caching even data like authority and additional sections. It will
notify us somehow (we will need to tell it when).
* Optimisation to pass max two outstanding queries on the network (but fetch
- everything from cache right away).
+ everything from cache right away). The first can be done by having number of
+ packets on the network, with max of 4 (each query are 2 of them, A and AAAA),
+ if it drops to 2, another one can be send.
* Add the cache cookies/contexts.
* Logging.
* Remove LRU from the nameserver entries, drop them when they are not
@@ -23,3 +25,15 @@
solution to use weak_ptr inside the hash_table instead of shared_ptr and
catch the exception inside get() (and getOrAdd) and delete the dead pointer.
* Selection algorithm
+* Better way to dispatch all calbacks in a list is needed. Currently, we need
+ to dispatch them outside of a lock. For that reason, we take all of them out
+ into a vector on a stack, leave the lock and start dispatching. This is wrong
+ because when an exception happens inside the callback, we lose the ones
+ not dispatched yet.
+
+ What should be done in this situation anyway? Putting them back? Will anybody
+ still call them?
+
+ Or recommend that if the result is really needed, that destruction of it
+ should be considered failure if it wasn't called yet? Make it the default
+ (eg. signal failure by destruction or call that function from destructor)?
More information about the bind10-changes
mailing list