1. A method for reconstructing a source file, comprising the steps of: receiving a plurality of packets; storing each of the plurality of packets which is not a linear combination of previously received packets into a file; generating a sequence of XOR operations; and performing the sequence of XOR operations in-place on the file to reconstruct the source file.