820efab7a60eb2846548fda764ec709367959f95
[oweals/gnunet.git] / src / cadet / TODO
1 - URGENT: Congestion/flow control (CHANNEL):
2   + estimate max bandwidth using bursts and use to for CONGESTION CONTROL!
3    (and figure out how/where to use this!)
4
5 - HIGH: revisit handling of 'unbuffered' traffic! (CHANNEL/TUNNEL)
6         (need to push down through tunnel into connection selection);
7         At Tunnel-level, try to create connections that match channel
8         preferences (buffered/unbuffered) and select connections for
9         channel traffic that match channel preferences.
10         BUT: not sure this is ideal, discloses traffic type to
11         routers. We don't want that! (Maybe revise decision to do this?)
12
13 - HIGH: revisit handling of 'buffered' traffic: 4 is a rather small buffer; (CHANNEL)
14         maybe reserve more bits in 'options' to allow for buffer size control?
15         Or: maybe even better, calculated required buffer size based on latency
16         and throughput (and available memory)
17
18 - HIGH: if we receive BROKEN messages, cut down corresponding PATH (up to the
19         point of breakage) as well as connection/route (CORE)
20
21 - OPTIMIZATION: proper connection evaluation during connection management:
22   + TUNNELS:
23     * consider quality of current connection set when deciding
24       how often to do maintenance
25     * interact with PEER to drive DHT GET/PUT operations based
26       on how much we like our connections
27
28
29 - OPTIMIZATION: optimize stopping/restarting DHT search to situations
30   where we actually need it (i.e. not if we have a direct connection,
31   or if we already have plenty of good short ones, or maybe even
32   to take a break if we have some connections and have searched a lot (?)) (PEER)