tailscale/taildrop
Joe Tsai 37c646d9d3
taildrop: improve the functionality and reliability of put (#9762)
Changes made:
* Move all HTTP related functionality from taildrop to ipnlocal.
* Add two arguments to taildrop.Manager.PutFile to specify
  an opaque client ID and a resume offset (both unused for now).
* Cleanup the logic of taildrop.Manager.PutFile
  to be easier to follow.
* Implement file conflict handling where duplicate files are renamed
  (e.g., "IMG_1234.jpg" -> "IMG_1234 (2).jpg").
* Implement file de-duplication where "renaming" a partial file
  simply deletes it if it already exists with the same contents.
* Detect conflicting active puts where a second concurrent put
  results in an error.

Updates tailscale/corp#14772

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
Co-authored-by: Rhea Ghosh <rhea@tailscale.com>
2023-10-12 09:28:46 -07:00
..
retrieve.go taildrop: improve the functionality and reliability of put (#9762) 2023-10-12 09:28:46 -07:00
send.go taildrop: improve the functionality and reliability of put (#9762) 2023-10-12 09:28:46 -07:00
taildrop.go taildrop: improve the functionality and reliability of put (#9762) 2023-10-12 09:28:46 -07:00
taildrop_test.go taildrop: improve the functionality and reliability of put (#9762) 2023-10-12 09:28:46 -07:00