the one big mistake the original protocol made: when sending a file it just starts streaming bytes without first sending the total size of the file. Makes it impossible to know, did the transfer complete 100%? Hence you have to be able to resume a partial transfer.