Add ability to create SpanReader with known decoder

It will be used for passing memory decoder and generally it decouples
reading of data from construction of proper chains of decoders.

https://bluerivertechnology.atlassian.net/browse/PRO-20146

Change-Id: I09ac4104f84c04ea246f34d3a0d3321e0744edfc
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/events/logging/logfile_utils.h b/aos/events/logging/logfile_utils.h
index 5d5d344..f8d6b8e 100644
--- a/aos/events/logging/logfile_utils.h
+++ b/aos/events/logging/logfile_utils.h
@@ -166,8 +166,13 @@
 // Class to read chunks out of a log file.
 class SpanReader {
  public:
+  // It creates a reader and makes proper decoder based on information encoded
+  // in the filename.
   SpanReader(std::string_view filename, bool quiet = false);
 
+  // Opens new reader from provided decoder.
+  SpanReader(std::string_view filename, std::unique_ptr<DataDecoder> decoder);
+
   std::string_view filename() const { return filename_; }
 
   size_t TotalRead() const { return total_read_; }