TRIAL TODO
STATE MACHINE
-* imposed HINTs are terribly broken, resend the same data over and over again
+* imposed HINTs are terribly broken, resent for the data in flight
* check ACK/HAVE redundancy
+* HAVE overuses find_filtered
+* set priorities on ranges
* small-progress update problem (aka peer nap)
guarantee size of updates < x% of data, on both ends
+* 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
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
* recover mfold.libswift.org
* integrate Windowses
+API
+* pluggable storage
+
+NAT
+* NAT type detection => need peer identifiers (x100 amplification)
+
+MFOLD
+* integrate multi-peer changes by Jori
+* do global swarm stats
+
OTHER
+* httpgw or nginx?
* Sha1Hash constructor ambiguity
* don't #include .cpp
* think of using HTTP (?) as a fallback
+* 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
+
+THOUGHTS
+* 6 degrees of sep = 3-hop TorrentSmell
+* 60% immediately not connectable
+* support traffic