* set priorities on ranges
* small-progress update problem (aka peer nap)
guarantee size of updates < x% of data, on both ends
-* SWIFT_MSGTYPE_RCVD SWIFT_MSGTYPE_SENT
+* pex is affected by peer nap
+* how will tracker aggregate pexes?
+* SWIFT_MSGTYPE_RCVD
* HAVE ALL / HAVE NONE
* aggregate ACKS (schedule for +x ms)
* channel close msg (hs 0)
* connection rotation / pex / pex_del
* misterious bug: Rdata (NONE)
* ?amend MAX_REORDER depending on rtt_dev
+* Tdata repetitions bug
PERFORMANCE
* move to the.zett's binmaps
* optimize redundant HASH messages
-* move to rotated ACK queue
+* move to rolling HAVE queue
* 32 bit time field
* ?empty/full binmaps
* initiate RTT with prev RTT to host:port
* fractional cwnd
-* ack_out rolling queue
CACHING/FILES
* connection rotation
* move to 64-bit IO
* Transfer(fd) constructor
* think of sliding window(s)
+* the ability to sniff file without downloading
MANIFOLD
* all-swarm performance stats
* add NATs to the setup
* recover mfold.libswift.org
* integrate Windowses
-* add WiFi nodes
API
-* notification if data is retrieved by an external code
-* events on data retrieval
* pluggable storage
NAT
* Sha1Hash constructor ambiguity
* don't #include .cpp
* think of using HTTP (?) as a fallback
-* sync the draft (hash goes first, ACK/HAVE)
+* add header/footer, better abstract to the draft
* Gertjan: separate peer from channel? cng ctrl per peer ?
* packing hashes into a single datagram (tracking 1000s)
* partial channels / lightweight channels
-* socket array is misplaced
-* the invalid-hash bug
+
+THOUGHTS
+* 6 degrees of sep = 3-hop TorrentSmell
+* 60% immediately not connectable
+* support traffic