ark::logging::ColumnReader

Defined in header “ark/logging/column_reader.hh”.


A column reader is spawned from the read cursor, and is intended to sequentially access logged data from a set of split files, based on the passed in configuration and query.

Methods

  • ColumnReader(ColumnReaderConfiguration config, ColumnDeclaration column_declaration)
    Constructor. Initializes a new column reader, and the appropriate split file readers.

  • ColumnReader(const ColumnReader & other)
    Explicit copy constructor, since we are dealing with shared pointers.

  • ColumnReader & operator=(const ColumnReader & other)
    Copy operator, since we are working with shared pointers.

  • bool step(LoggedObject & object)
    Populates the given logged object with the next object that is being read from the log. Returns true on success, or false if you have no more objects to read.

    This is a blocking call, and can throw on errors.

  • bool peek(LoggingClock::time_point & indexed_time)
    Peeks into the future, returning the timestamp of the next logged object. Returns false if there is no more data to read.

  • RequiredLogUrlList required_urls()
    Returns all URLs (or files) that will be queried from this reader. You can use this as a mechanism to determine all of the files that “belong” to a particular log.