X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/agedu/blobdiff_plain/50e82fdc62d1e7c0747bdc8c17d7ef7b863e1460..4a9c130ca2f20c08128be223fbc6f93aa530c98b:/TODO diff --git a/TODO b/TODO index f34f507..f8c723d 100644 --- a/TODO +++ b/TODO @@ -1,22 +1,6 @@ TODO list for agedu =================== - - adjust the default web server address selection. - + some systems (e.g. OS X) don't like us binding to random - localhost addresses. So if that fails, try falling back to - 127.0.0.1 proper (and a randomly selected port) before giving - up. - + since binding to port 80 isn't generally feasible, we should - adjust the default behaviour when the user specifies --addr - with no port: it should select port zero, and then print the - port number on standard output. (Possibly also print the URL - as usual, in that situation: translate INADDR_ANY to - INADDR_LOOPBACK and then do the same as when we made the - entire address up ourself.) - - - we should munmap in all operating modes where we mmapped, - otherwise chaining them will run out of address space - - we could still be using more of the information coming from autoconf. Our config.h is defining a whole bunch of HAVE_FOOs for particular functions (e.g. HAVE_INET_NTOA, HAVE_MEMCHR, @@ -30,16 +14,6 @@ TODO list for agedu controversial; IIRC it's all in POSIX, for one thing. So more likely this should simply wait until somebody complains. - - it would be useful to support a choice of indexing strategies. - The current system's tradeoff of taking O(N log N) space in order - to be able to support any age cutoff you like is not going to be - ideal for everybody. A second more conventional mechanism which - allows the user to specify a number of fixed cutoffs and just - indexes each directory on those alone would undoubtedly be a - useful thing for large-scale users. This will require - considerable thought about how to make the indexers pluggable at - both index-generation time and query time. - - IPv6 support in the HTTP server * of course, Linux magic auth can still work in this context; we merely have to be prepared to open one of /proc/net/tcp or @@ -80,9 +54,27 @@ TODO list for agedu Unclear what the right UI would be on Windows, too; command-line exactly as now might be considered just a _little_ unfriendly. Or perhaps not. + * Disk scan procedure: the FindFirstFile / FindNextFile + functions to scan a directory automatically return the file + times along with the filenames, so there's no need to stat + them later. Would want to fiddle the shape of the + abstraction layer to reflect this. + Alternatively, a much easier approach would be to write a Windows version of just the --scan-dump mode, which does a filesystem scan via the Windows API and generates a valid agedu dump file on standard output. Then one would simply feed that over the network connection of one's choice to the rest of agedu running on Unix as usual. + + - it might conceivably be useful to support a choice of indexing + strategies. The current "continuous index" mechanism' tradeoff of + taking O(N log N) space in order to be able to support any age + cutoff you like is not going to be ideal for everybody. A second + more conventional "discrete index" mechanism which allows the + user to specify a number of fixed cutoffs and just indexes each + directory on those alone would undoubtedly be a useful thing for + large-scale users. This will require considerable thought about + how to make the indexers pluggable at both index-generation time + and query time. + * however, now we have the cut-down version of the continuous + index, the space saving is less compelling.