root/hydranode-oldbld/TODO

Revision 1298, 2.4 kB (checked in by madcat, 4 years ago)

Updated

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1              Hydranode - Modular MultiPlatform P2P Client Framework
2              ------------------------------------------------------
3                           Things needing to be done
4
5 ---- 0.2 Release Requirements ----
6
7 * [core] Implement inter-module dependancies system.
8
9          Estimated Development Time: 1-2 days
10
11 * [core] Scheduler API isn't scalable enough - nearly all functions require
12          performing map lookups with socket pointer, which can get really
13          resource-hungry during transfering from many sockets at high speeds.
14          Possible solutions include completely dropping Scheduler (and the
15          surrounding policy/helper classes), and doing all the events and
16          requests handling directly within SSocket class.
17
18          Estimated Development Time: 1-2 days
19
20 * [core/ed2k] Replace CryptoPP with Botan library; implement the remainder of
21          required hashes generation using Botan API. This makes Botan library
22          a hard dependancy for hydranode (altough it can be optional).
23
24          Estimated Development Time: 2-3 days
25
26 * [ed2k] Fully re-enable compressed downloading. Requires a wrapper class around
27          ZStream to perform stream-oriented data decompression.
28
29          Estimated Development Time: 3-4 hours
30
31 * [bt] Implement support for BitTorrent network. Needs to have both client
32        and tracker capabilities, supporting most modern BT features.
33
34 * [cgcomm] Implement Core/GUI Communication Layer
35
36 --- Miscellaneous ----
37
38 * [core] Handle E_INETDOWN on Linux somehow (that error code is not
39          supported on Linux)
40
41 * [core] Monitor getrlimit(RLIMIT_NOFILE) on Linux, to avoid networking
42          subsystem aquiring too many open files that other subsystems
43          start failing. Make sure Networking Subsystem always leaves ~5%
44          of allowed file-descriptors free for other subsystems to use.
45
46 * [core] Simplify Object class data / operations access and storage.
47          Possibly overload operator[] and operator().
48
49 * [core/ed2k] Add additional levels of indirection to ED2KParser class and the
50          surrounding API to make it independant of the protocol being parsed.
51          As such it can then be moved into [core] codebase and made available
52          to all current and future modules. This involves using template Policy
53          classes technique to perform protocol header reading.
54
55          Estimated Development Time: 1 day
Note: See TracBrowser for help on using the browser.