votca 2024-dev
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Attributes | List of all members
votca::xtp::ProgObserver< JobContainer > Class Template Reference

#include <progressobserver.h>

Collaboration diagram for votca::xtp::ProgObserver< JobContainer >:
Collaboration graph
[legend]

Public Member Functions

void InitCmdLineOpts (const boost::program_options::variables_map &optsMap)
 
void InitFromProgFile (std::string progFile, QMThread &thread)
 
ProgObserver::JobRequestNextJob (QMThread &thread)
 
void ReportJobDone (Job &job, Result &res, QMThread &thread)
 
void SyncWithProgFile (QMThread &thread)
 
void LockProgFile (QMThread &thread)
 
void ReleaseProgFile (QMThread &thread)
 
std::string GenerateHost ()
 
std::string GenerateTime ()
 

Private Types

using Job = typename JobContainer::value_type
 
using Result = typename Job::JobResult
 
using iterator = typename JobContainer::iterator
 
using iterator_vec = typename std::vector< Job * >::iterator
 

Private Attributes

std::string lockFile_ = ""
 
std::string progFile_ = ""
 
Index cacheSize_ = -1
 
JobContainer jobs_
 
std::vector< Job * > jobsToProc_
 
std::vector< Job * > jobsToSync_
 
iterator metajit_
 
iterator_vec nextjit_
 
tools::Mutex lockThread_
 
std::unique_ptr< boost::interprocess::file_lock > flock_
 
std::map< std::string, bool > restart_hosts_
 
std::map< std::string, bool > restart_stats_
 
bool restartMode_ = false
 
Index jobsReported_ = 0
 
bool moreJobsAvailable_ = false
 
Index startJobsCount_ = 0
 
Index maxJobs_ = 0
 

Detailed Description

template<typename JobContainer>
class votca::xtp::ProgObserver< JobContainer >

Definition at line 43 of file progressobserver.h.

Member Typedef Documentation

◆ iterator

template<typename JobContainer >
using votca::xtp::ProgObserver< JobContainer >::iterator = typename JobContainer::iterator
private

Definition at line 70 of file progressobserver.h.

◆ iterator_vec

template<typename JobContainer >
using votca::xtp::ProgObserver< JobContainer >::iterator_vec = typename std::vector<Job *>::iterator
private

Definition at line 72 of file progressobserver.h.

◆ Job

template<typename JobContainer >
using votca::xtp::ProgObserver< JobContainer >::Job = typename JobContainer::value_type
private

Definition at line 45 of file progressobserver.h.

◆ Result

template<typename JobContainer >
using votca::xtp::ProgObserver< JobContainer >::Result = typename Job::JobResult
private

Definition at line 46 of file progressobserver.h.

Member Function Documentation

◆ GenerateHost()

template<typename JobContainer >
std::string votca::xtp::ProgObserver< JobContainer >::GenerateHost

Definition at line 118 of file progressobserver.cc.

◆ GenerateTime()

template<typename JobContainer >
std::string votca::xtp::ProgObserver< JobContainer >::GenerateTime

Definition at line 126 of file progressobserver.cc.

◆ InitCmdLineOpts()

template<typename JobContainer >
void votca::xtp::ProgObserver< JobContainer >::InitCmdLineOpts ( const boost::program_options::variables_map &  optsMap)

Definition at line 212 of file progressobserver.cc.

◆ InitFromProgFile()

template<typename JobContainer >
void votca::xtp::ProgObserver< JobContainer >::InitFromProgFile ( std::string  progFile,
QMThread thread 
)

Definition at line 257 of file progressobserver.cc.

◆ LockProgFile()

template<typename JobContainer >
void votca::xtp::ProgObserver< JobContainer >::LockProgFile ( QMThread thread)

Definition at line 192 of file progressobserver.cc.

◆ ReleaseProgFile()

template<typename JobContainer >
void votca::xtp::ProgObserver< JobContainer >::ReleaseProgFile ( QMThread thread)

Definition at line 205 of file progressobserver.cc.

◆ ReportJobDone()

template<typename JobContainer >
void votca::xtp::ProgObserver< JobContainer >::ReportJobDone ( Job job,
Result res,
QMThread thread 
)

Definition at line 99 of file progressobserver.cc.

◆ RequestNextJob()

template<typename JobContainer >
ProgObserver< JobContainer >::Job * votca::xtp::ProgObserver< JobContainer >::RequestNextJob ( QMThread thread)

Definition at line 45 of file progressobserver.cc.

◆ SyncWithProgFile()

template<typename JobContainer >
void votca::xtp::ProgObserver< JobContainer >::SyncWithProgFile ( QMThread thread)

Definition at line 132 of file progressobserver.cc.

Member Data Documentation

◆ cacheSize_

template<typename JobContainer >
Index votca::xtp::ProgObserver< JobContainer >::cacheSize_ = -1
private

Definition at line 64 of file progressobserver.h.

◆ flock_

template<typename JobContainer >
std::unique_ptr<boost::interprocess::file_lock> votca::xtp::ProgObserver< JobContainer >::flock_
private

Definition at line 75 of file progressobserver.h.

◆ jobs_

template<typename JobContainer >
JobContainer votca::xtp::ProgObserver< JobContainer >::jobs_
private

Definition at line 65 of file progressobserver.h.

◆ jobsReported_

template<typename JobContainer >
Index votca::xtp::ProgObserver< JobContainer >::jobsReported_ = 0
private

Definition at line 80 of file progressobserver.h.

◆ jobsToProc_

template<typename JobContainer >
std::vector<Job *> votca::xtp::ProgObserver< JobContainer >::jobsToProc_
private

Definition at line 67 of file progressobserver.h.

◆ jobsToSync_

template<typename JobContainer >
std::vector<Job *> votca::xtp::ProgObserver< JobContainer >::jobsToSync_
private

Definition at line 68 of file progressobserver.h.

◆ lockFile_

template<typename JobContainer >
std::string votca::xtp::ProgObserver< JobContainer >::lockFile_ = ""
private

Definition at line 62 of file progressobserver.h.

◆ lockThread_

template<typename JobContainer >
tools::Mutex votca::xtp::ProgObserver< JobContainer >::lockThread_
private

Definition at line 74 of file progressobserver.h.

◆ maxJobs_

template<typename JobContainer >
Index votca::xtp::ProgObserver< JobContainer >::maxJobs_ = 0
private

Definition at line 84 of file progressobserver.h.

◆ metajit_

template<typename JobContainer >
iterator votca::xtp::ProgObserver< JobContainer >::metajit_
private

Definition at line 71 of file progressobserver.h.

◆ moreJobsAvailable_

template<typename JobContainer >
bool votca::xtp::ProgObserver< JobContainer >::moreJobsAvailable_ = false
private

Definition at line 82 of file progressobserver.h.

◆ nextjit_

template<typename JobContainer >
iterator_vec votca::xtp::ProgObserver< JobContainer >::nextjit_
private

Definition at line 73 of file progressobserver.h.

◆ progFile_

template<typename JobContainer >
std::string votca::xtp::ProgObserver< JobContainer >::progFile_ = ""
private

Definition at line 63 of file progressobserver.h.

◆ restart_hosts_

template<typename JobContainer >
std::map<std::string, bool> votca::xtp::ProgObserver< JobContainer >::restart_hosts_
private

Definition at line 77 of file progressobserver.h.

◆ restart_stats_

template<typename JobContainer >
std::map<std::string, bool> votca::xtp::ProgObserver< JobContainer >::restart_stats_
private

Definition at line 78 of file progressobserver.h.

◆ restartMode_

template<typename JobContainer >
bool votca::xtp::ProgObserver< JobContainer >::restartMode_ = false
private

Definition at line 79 of file progressobserver.h.

◆ startJobsCount_

template<typename JobContainer >
Index votca::xtp::ProgObserver< JobContainer >::startJobsCount_ = 0
private

Definition at line 83 of file progressobserver.h.


The documentation for this class was generated from the following files: