1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Command Parser:
Write hash function for command searching. Hash function needs to take
into consideration command abbreviation. Possible solutions are to load
abbreviations into command table or to find a hash that produces similar
results for the abbreviations or do a single step hash lookup and then
revert to straight search. If reversion to straight search becomes the
common case, it may make more sense to simply search command table
directly.
Dynamic Loader todo:
unregistercommand
registeruplinkhandler
unregisteruplinkhandler
Init Functions
function pointer table for modules
Buffer:
Add 'buffer_linesize' function to speed reading lines from the buffer.
Update buffer_readword to allocate memory for the word on its own. This
should result in faster reading of a word, as it would then be unnecessary
to loop to read an entire word. Alternatively, a 'buffer_wordlen' would
be useful.
Write code to ensure that all data sent over the network is the same size and
endian-ness. For now we assume that we are only running on 32 bit x86.
Write dnsserver helper daemon to handle name lookups without causing main
daemon to block. For machines hosting multiple daemons, a single
dnsserver or pool of dnsserver's could be shared. Main daemons should
not do any lookups inside their threadpool due to blocking concerns.
Improve buffer code efficiency.
Remove majority of includes from include and put them in lib/include.
libkoala should only have one or two include files to specify the api.
Non-public functions should not have prototypes in the include files in
./include.
DataBase code:
Much more error and "special" case handling is needed. Mount code needs
to make sure it isn't just walking off the end of a block, etc.
Add additional database drivers
|