Assniffer is just wonderful! Yet there is a problem: when "rebuilding" youtube files, it very often produces unreadable stuff. I have increased the buffer size in tcp.cpp from 65536 to 524288, but this has not changed anything. Looking through the code, I noticed a comment :
// if a reply comes in and it's replybuf_window_min, we just move
// replybuf_window_in up, and directly add the data.
// otherwise, if it's between min and max, we add it in.
// if it's >= max, we append it to replybuf, moving replybuf_window_max up,
// and if we have to, we move min up, and copy that old data.
// whenever we move up min, we should zero it out, too.
// this should be redone and we should track which pieces are missing, too.
// oh well, TODO or something
// also need to flush on timeout or on fins.
which means that the problem of missing pieces is not yet solved. Is there hope that it will be?