Draft: ref: output: Rewrite sink functionality
Compare changes
+ 14
− 15
This MR rewrites much of the output layer. It's meant to consolidate loose variables and redundant code into concise abstractions and support further changes beyond the traditional POSIX use case, like expanding support for DAX interfaces.
Main improvements:
OutputFile.cc
source filesink.h
/ sink.cc
unit with dedicated FileSink
class to concentrate synchronous metadata write operations and asynchronous commits, managing the preexisting close-and-rename queue in a separate thread. As such, only the data staging step remains within the scope of OutputFile
RunMetadata
, LumisectionMetadata
and FileMetadata
.Some further changes are still planned; above all, clang-formatting has to be re-toggled. These updates will come as needed according to progress on DAX support in the next few days.