You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/taildrop
Joe Tsai c2a551469c
taildrop: implement asynchronous file deletion (#9844)
File resumption requires keeping partial files around for some time,
but we must still eventually delete them if never resumed.
Thus, we implement asynchronous file deletion, which could
spawn a background goroutine to delete the files.

We also use the same mechanism for deleting files on Windows,
where a file can't be deleted if there is still an open file handle.
We can enqueue those with the asynchronous file deleter as well.

Updates tailscale/corp#14772

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
9 months ago
..
delete.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
delete_test.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
resume.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
resume_test.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
retrieve.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
send.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
taildrop.go taildrop: implement asynchronous file deletion (#9844) 9 months ago
taildrop_test.go taildrop: implement asynchronous file deletion (#9844) 9 months ago