[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