diff options
author | Christian Grothoff <christian@grothoff.org> | 2009-07-19 13:12:03 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2009-07-19 13:12:03 +0000 |
commit | 050ce82c79ef540b308a2bcee7514dd563fc5795 (patch) | |
tree | 4c85780990c6e3969b84cb6be4288d681953b0a9 /TODO | |
parent | ef96ec365fc1273671b1b8b8e995f69c6649d2ce (diff) | |
download | gnunet-050ce82c79ef540b308a2bcee7514dd563fc5795.tar.gz gnunet-050ce82c79ef540b308a2bcee7514dd563fc5795.zip |
stuff
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 128 |
1 files changed, 101 insertions, 27 deletions
@@ -1,14 +1,16 @@ | |||
1 | PHASE #1: (Goal: settle key design questions) | 1 | PHASE #1: (Goal: settle key design questions) |
2 | 2 | ||
3 | |||
4 | Util: | 3 | Util: |
5 | * improve disk API [Nils] (Nils, is this done? -Christian) | ||
6 | * Windows: use events instead of pipes to signal select()s [Nils] | 4 | * Windows: use events instead of pipes to signal select()s [Nils] |
7 | * only connect() sockets that are ready (select()) [Nils] | 5 | * only connect() sockets that are ready (select()) [Nils] |
8 | [On W32, we need to select after calling socket before | 6 | [On W32, we need to select after calling socket before |
9 | doing connect etc.] | 7 | doing connect etc.] |
10 | 8 | ||
9 | PHASE #2: (Goal: recover basic file-sharing functionality) | ||
10 | |||
11 | |||
11 | TESTCASES WANTED: | 12 | TESTCASES WANTED: |
13 | |||
12 | For these functions, it would be nice if we had testcases ("make check") | 14 | For these functions, it would be nice if we had testcases ("make check") |
13 | that would cause them to be executed and check that they are working: | 15 | that would cause them to be executed and check that they are working: |
14 | * gnunet-service-peerinfo: | 16 | * gnunet-service-peerinfo: |
@@ -37,6 +39,9 @@ that would cause them to be executed and check that they are working: | |||
37 | - transmit_timeout | 39 | - transmit_timeout |
38 | - remove_from_any_list / remove_neighbour | 40 | - remove_from_any_list / remove_neighbour |
39 | - GNUNET_TRANSPORT_notify_transmit_ready_cancel | 41 | - GNUNET_TRANSPORT_notify_transmit_ready_cancel |
42 | - Testcases for set_quota, timeouts, disconnects, transmit_ready_cancel | ||
43 | - gnunet-service-transport HELLO validation (how good is our coverage?) | ||
44 | - direct test of plugins compliance to plugin API | ||
40 | * core_api: | 45 | * core_api: |
41 | - timeout_request | 46 | - timeout_request |
42 | - solicit_traffic / copy_and_free | 47 | - solicit_traffic / copy_and_free |
@@ -52,47 +57,113 @@ that would cause them to be executed and check that they are working: | |||
52 | * topology (everything) | 57 | * topology (everything) |
53 | 58 | ||
54 | 59 | ||
55 | 60 | Module features to implement: | |
56 | PHASE #2: (Goal: recover basic file-sharing functionality) | 61 | * Datastore (needed for FS) |
57 | 62 | - complete service implementation and improve testcase coverage | |
58 | Datastores: | 63 | * Dstore (needed for DHT) |
59 | * implement sqlite-based sqstore/datastore service | 64 | - design DSTORE API |
60 | + complete service implementation and improve testcase coverage | 65 | - design network structs |
61 | * implement sqlite-based dstore services | 66 | - design plugin API |
62 | + design API | 67 | - implement sqlite-based dstore plugin |
63 | + implement library (talks to service) | 68 | - implement dstore service |
64 | + implement service (talks to plugin) | 69 | - implement dstore API |
65 | + implement sqlite plugin (talks to DB) | 70 | - implement testcases for dstore API |
66 | 71 | - implement testcases for dstore plugin | |
67 | Applications: | 72 | - implement performance tests |
68 | * DHT, DV | 73 | * TESTING (needed for DV, DHT, Topology) |
69 | * FS / fs-libs | 74 | - review TESTING API |
75 | - implement library for local testing | ||
76 | - implement testcases for library | ||
77 | - implement library for distributed testing | ||
78 | - implement testcases for distributed testing | ||
79 | * TOPOLOGY: | ||
80 | - implement testcases (needs TESTING) | ||
81 | * HOSTLIST: | ||
82 | - implement testcases | ||
83 | * DV (needed for DHT) | ||
84 | - write DV API | ||
85 | - implement DV service | ||
86 | - implement DV library | ||
87 | - implement DV transport plugin | ||
88 | - implement testcases | ||
89 | - implement performance tests | ||
90 | * DHT (needed for FS) | ||
91 | - review DHT API | ||
92 | - implement DHT service (needs DV, DSTORE) | ||
93 | - implement DHT library | ||
94 | - implement testcases | ||
95 | - implement performance tests | ||
96 | * FS | ||
97 | - review FS API | ||
98 | - design network structs (CS) | ||
99 | - implement FS library | ||
100 | + URI API | ||
101 | + getopt API | ||
102 | + persistence mechanism | ||
103 | + sharing API | ||
104 | ~ file-information | ||
105 | ~ insert | ||
106 | ~ download | ||
107 | ~ search | ||
108 | ~ unindex | ||
109 | ~ namespaces | ||
110 | ~ collection | ||
111 | + directory API | ||
112 | - design network structs (P2P) | ||
113 | - datastore request queueing mechanism | ||
114 | - implement FS service (needs DHT) | ||
115 | + insert | ||
116 | + download | ||
117 | + search | ||
118 | + unindex | ||
119 | - implement testcases | ||
120 | + URI API | ||
121 | + getopt API | ||
122 | + sharing API (needs TESTING) | ||
123 | ~ file-information | ||
124 | ~ insert | ||
125 | ~ download | ||
126 | ~ search | ||
127 | ~ unindex | ||
128 | ~ namespaces | ||
129 | ~ collection | ||
130 | + directory API | ||
131 | - implement performance tests (needs TESTING) | ||
132 | + insert | ||
133 | + download | ||
134 | + search | ||
135 | + unindex | ||
70 | 136 | ||
71 | 137 | ||
72 | 138 | ||
73 | PHASE #3: (Goal: ready for pre-release) [completion-goal: end of 2009] | 139 | PHASE #3: (Goal: ready for pre-release) [completion-goal: end of 2009] |
74 | 140 | ||
75 | * testing | 141 | Module features to implement: |
76 | * setup | 142 | * setup |
77 | * gtk, qt GUIs | 143 | - default generation |
144 | - need to settle basic design; do we want to keep guile? | ||
78 | * tbench | 145 | * tbench |
146 | - good to have for DV evaluation! | ||
79 | * tracekit | 147 | * tracekit |
148 | - good to have for DV/DHT evaluation! | ||
80 | * vpn | 149 | * vpn |
81 | 150 | ||
82 | Transports: | 151 | |
152 | GUIs to implement: | ||
153 | * gtk | ||
154 | * qt | ||
155 | * fuse | ||
156 | |||
157 | |||
158 | Plugins to implement: | ||
83 | * UDP backend (need LIBRARY to support (de)fragmentation!) | 159 | * UDP backend (need LIBRARY to support (de)fragmentation!) |
84 | * HTTP backend | 160 | * HTTP backend |
85 | * Testing: | ||
86 | + Testcases for set_quota, timeouts, disconnects, transmit_ready_cancel | ||
87 | + Better coverage of gnunet-service-transport (HELLO validation) | ||
88 | + direct test of plugins compliance to plugin API | ||
89 | 161 | ||
90 | Databases: | ||
91 | * sqlite, mysql & postgres backend | ||
92 | 162 | ||
93 | 163 | ||
94 | 164 | ||
95 | Minor TODO items: | 165 | |
166 | Minor TODO items / known bugs: | ||
96 | * UTIL: | 167 | * UTIL: |
97 | - crypto_hash: use libgcrypt (supports SHA-512 since 2003) | 168 | - crypto_hash: use libgcrypt (supports SHA-512 since 2003) |
98 | - container_bloomfilter: improve efficiency (see FIXME) | 169 | - container_bloomfilter: improve efficiency (see FIXME) |
@@ -167,6 +238,9 @@ Minor TODO items: | |||
167 | ==28393== by 0x524473E: GNUNET_NETWORK_socket_create_from_accept (network.c:323) | 238 | ==28393== by 0x524473E: GNUNET_NETWORK_socket_create_from_accept (network.c:323) |
168 | (rest of trace identical) | 239 | (rest of trace identical) |
169 | 240 | ||
241 | * DATASTORE: | ||
242 | - mysql backend | ||
243 | - postgres backend | ||
170 | * SETUP: | 244 | * SETUP: |
171 | - auto-generate "defaults.conf" using gnunet-setup from "config.scm" | 245 | - auto-generate "defaults.conf" using gnunet-setup from "config.scm" |
172 | - integrate all options into "config.scm" | 246 | - integrate all options into "config.scm" |