in the proxy the stale connection is being "removed" on error, but it causes one of the remaining connections to miss a chunk.
In [7]: mybytes = ['a', 'b', 'c']
In [8]: for byte in mybytes:
...: for conn in mylist:
...: if conn == 1:
...: mylist.remove(conn)
...: print byte, conn
...:
...:
a 1
a 3
b 2
b 3
c 2
c 3
In [6]: mylist = [1,2,3]
in the proxy the stale connection is being "removed" on error, but it causes one of the remaining connections to miss a chunk.
In [7]: mybytes = ['a', 'b', 'c']
In [8]: for byte in mybytes:
...: for conn in mylist:
...: if conn == 1:
...: mylist.remove(conn)
...: print byte, conn
...:
...:
a 1
a 3
b 2
b 3
c 2
c 3