forked from radareorg/sdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
41 lines (38 loc) · 1.32 KB
/
TODO
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
41
TODO
----
* implement mmap for w32
* implement sdb_ainc/sdb_adec
* implement io filters for load/save databases (io wrap)
* bug: empty keys can be used wtf.
* support json 2.0 ({foo:"bar"}) <- no need for quotes in name
* create string pool for a list of sizes
newpool (sizeof (char), 10, 100, 1000);
* Add api to store serialized in memory
* Add api for raw bytes
* Add api and syntax for json_length()
* Add comparision stuff
* Add support for socket file for memcached api
* add api to create db without caching it before
* remove buffer
Syncronization
--------------
- each key/value have a timestamp of creation/modification
- sdb_diff() must check both databases and look for removed entries
- syncronization between hosts - realtime storage
- run sync every N seconds? every N keys in cache?
- sdb_log to dump to a file descriptor all sets.. as a stream
Optimization
------------
* remove endian conversions
* use slices instead of mallocs
* use strstore
* accelerate get ops with cached results (const char* instead of strdup)
* implement udp protocol for memcache
* rewrite mcsdb in luvit
* use 16 bit key and 16 bit value // dont think so
* use kernel's linked list? it should be faster..
BUGS
----
* hashtable is not cleaned up when sync
- must honor expire time entries
* key and value boundaries are probably not properly handled