josiah-roberts / pgb Goto Github PK
View Code? Open in Web Editor NEWPhilosoGamer Backup
PhilosoGamer Backup
Make sure the directory creation method responds gracefully if another worker creates the directory before they do.
CopyFileEx allows PROGESS_STOP and resumed copies. Support for this would be nice.
The beauty of passing around a ref bool for cancel is that you can stop the whole thing. The problem is that you can't not stop the whole thing.
A purge backup only terminates on progress. The task complete detection is generally terrible.
If so, MoveOperation and DeleteOperation should find a different way.
That is, wait for the current file to finish and then wait for resume.
This is somewhat complex no doubt, because we have to figure out why the error occurred and if continue is a valid option. CopyFileEx supports this, but it must be turned on.
Probably accomplished by callback exception watching.
Not only is it a bit questionable how nested they are, but the data is a mess:
Pending + complete vs total + complete
On multi-file progress reports, it's confusing, when do we include the active file and when don't we? When we're multi-threaded, how does that work?
The need to transfer instructions back (hey, stop!) might merit using a delegate. Though, the event should always run on the same thread, so setting a property would theoretically work, if done before control is passed out of the event handler.
Catch, but only one re-try, further down tryless calls to NextDirectory, etc.
Writing to C:\ or Program Files or Windows requires elevation. No reason I'd ever need the last two.
What reads require admin permissions?
Namely ERROR_REQUEST_ABORTED
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.