dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t Struct Reference

#include <scheduler.h>

Public Member Functions

 input_reader_t ()=default
 
 input_reader_t (std::unique_ptr< ReaderType > reader, std::unique_ptr< ReaderType > end, memref_tid_t tid)
 

Data Fields

std::unique_ptr< ReaderType > reader
 
std::unique_ptr< ReaderType > end
 
memref_tid_t tid = INVALID_THREAD_ID
 

Detailed Description

template<typename RecordType, typename ReaderType>
struct dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t

Specifies an input that is already opened by a reader.

Constructor & Destructor Documentation

◆ input_reader_t() [1/2]

template<typename RecordType , typename ReaderType >
dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t::input_reader_t ( )
default

Creates an empty reader.

◆ input_reader_t() [2/2]

template<typename RecordType , typename ReaderType >
dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t::input_reader_t ( std::unique_ptr< ReaderType >  reader,
std::unique_ptr< ReaderType >  end,
memref_tid_t  tid 
)
inline

Creates a reader entry.

Field Documentation

◆ end

template<typename RecordType , typename ReaderType >
std::unique_ptr<ReaderType> dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t::end

The end reader for 'reader'.

◆ reader

template<typename RecordType , typename ReaderType >
std::unique_ptr<ReaderType> dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t::reader

The reader for the input stream.

◆ tid

template<typename RecordType , typename ReaderType >
memref_tid_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_reader_t::tid = INVALID_THREAD_ID

A unique identifier to distinguish from other readers for this workload. This value is used to fill in the memref_t "tid" field for synthesized context switch records in dynamic schedules, for synthesized thread exits when skipping beyond the end of an input, and for synthesized region separator markers when skipping. It is also used to refer to this input in the 'thread_modifiers.tids' field of 'input_workload_t' (though an alternative is to use the 'thread_modifiers.shards' field).

This identifier can be non-unique if the aforementioned uses are not relevant: which would typically only be in non-dynamically-scheduled modes.


The documentation for this struct was generated from the following file:
  • /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/scheduler.h