Tuesday 3rd March 2015: 1.30pm.
Well, fast forward four weeks and approximately 100 extra hours expended between midnight and 5am ... and I finally have a sea of green, albeit the below is not stable, it just happened to go all green last night and might not remain so tonight or any other night. In fact, that was exactly the code I was adding last night, a stack backtracer which tracks the paths of code an op takes through the engine, and therefore when something spuriously errors it can now say exactly which combination of code paths preceding the engine and which within the engine led to that error. Then when I next get some random unpredictable failure, I'll have the telemetry to figure out how it occurred.
I must admit to being exhausted though. This past month I get maybe 25-30 hours of sleep for most of the week, and maybe two nights with a decent amount. And feeling quite run down, plus the load on Megan is considerably higher, she might not quite be looking after Clara as much, but she also no longer gets morning lie ins. Still, here is the remaining todo list before I can release, and start going to bed at a reasonable hour again:
1. Add unit test swapping two directories each with an open file in them and make sure it doesn't get confused.
2. Implement rename and delete and hard link on the handle. Look into a "add hardlink to open handle" function i.e. an undelete function, though this will be a Linux and Windows only feature.
3. Add unit test making sure that race free file renaming and deletion works as expected, probably to path_works.
4. Write tutorial section on tracking files over time.
5. clang-reformat everything, and set up the CI to auto clang reformat all new commits from now on.
6. Run compilation time benchmarks on all platforms. Fix any regressions. You might think this easy, but AFIO has about twenty different build configurations now.
7. Run performance benchmarks on all platforms. Fix any regressions. Add a benchmark for race protection.
Phew. What are my chances for a March v1.3 release???
#boostafio #boostcpp #c++