Commit fd37a6fe authored by Roger Dingledine's avatar Roger Dingledine
Browse files

some todo updates before i lose track of them


svn:r943
parent 8712a30e
Loading
Loading
Loading
Loading
+25 −9
Original line number Diff line number Diff line
@@ -12,6 +12,31 @@ ARMA - arma claims
        D Deferred
        X Abandoned

For 0.0.2pre17:
        o Put a H(K | handshake) into the onionskin response
        o Make cells 512 bytes
        - Reduce streamid footprint from 7 bytes to 2 bytes
          - Check for collisions in streamid (now possible with
            just 2 bytes), and back up & replace with padding if so
        - Use the 4 reserved bytes in each cell header to keep 1/5
          of a sha1 of the ongoing relay payload (move into stream header)
        o Move length into the stream header too
        o Make length 2 bytes
        - Spec the stream_id stuff. Clarify that nobody on the backward
          stream should look at stream_id.

Cell:
        ACI (anonymous circuit identifier)    [2 bytes]
        Command                               [1 byte]
        Payload (padded with 0 bytes)         [509 bytes]

Relay payload:
        Relay command           [1 byte]
        Stream ID               [7 bytes]
        Partial SHA-1           [4 bytes]
        Length                  [2 bytes]
        Relay payload           [495 bytes]

For 0.0.2pre15:
        o don't pick exit nodes which will certainly reject all things.
        o don't pick nodes that the directory says are down
@@ -119,15 +144,6 @@ NICK . Handle half-open connections
                        o Figure out what causes connections to close, standardize
                          when we mark a connection vs when we tear it down
                o Look at what ssl does to keep from mutating data streams
ARMA    - Reduce streamid footprint from 7 bytes to 2 bytes
                - Check for collisions in streamid (now possible with
                  just 2 bytes), and back up & replace with padding if so
                - Use the 3 saved bytes to put pseudorandomness in each relay cell
                - Use the 4 reserved bytes in each cell header to keep 1/5
                  of a sha1 of the relay payload (move into stream header)
                - Move length into the stream header too
                - Spec the stream_id stuff. Clarify that nobody on the backward
                  stream should look at stream_id.
        o Put CPU workers in separate processes
                o Handle multiple cpu workers (one for each cpu, plus one)
                o Queue for pending tasks if all workers full