Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Attributes | Static Private Attributes | Friends | List of all members
protocols::jd2::archive::ArchiveManager Class Reference

ArchiveManager is responsible for communication with JobDistributor and organization of Batches and returning decoys he owns an Archive (AbstractArchiveBase) that will be handed the decoys and is asked to generate_batch() if the QUEUE_EMPTY . More...

#include <ArchiveManager.hh>

Inheritance diagram for protocols::jd2::archive::ArchiveManager:
Inheritance graph
[legend]

Public Member Functions

 ArchiveManager (core::Size archive_rank, core::Size jd_master_rank, core::Size file_buf_rank)
 ctor is protected; singleton pattern More...
 
 ~ArchiveManager () override
 
void go (ArchiveBaseOP)
 
core::Size unfinished_batches () const
 
void save_archive () override
 
bool restore_archive () override
 
- Public Member Functions inherited from protocols::jd2::archive::BaseArchiveManager
 BaseArchiveManager ()
 ctor is protected; singleton pattern More...
 
virtual ~BaseArchiveManager ()
 
virtual Batchstart_new_batch ()
 
virtual void finalize_batch (Batch &, bool reread=false)
 
virtual void cancel_batches_previous_to (core::Size batch_id, bool allow_reading_of_decoys=true)
 
BatchList const & batches () const
 
core::Size last_batch_id () const
 

Static Public Member Functions

static void register_options ()
 

Protected Member Functions

virtual void batch_underflow ()
 triggered in slave if new batch_ID comes in. More...
 
void idle ()
 
void jobs_completed ()
 
void queue_batch (Batch const &batch) override
 
void cancel_batch (Batch &batch, bool allow_reading_of_decoys=true) override
 
void read_existing_batches ()
 
void register_batch (Batch new_batch)
 
void send_stop_to_jobdistributor ()
 
void unlock_file (Batch const &batch, bool final) override
 
- Protected Member Functions inherited from protocols::jd2::archive::BaseArchiveManager
void set_archive (AbstractArchiveBaseOP)
 
AbstractArchiveBasethe_archive ()
 
void read_returning_decoys (Batch &batch, bool final)
 

Private Types

typedef BaseArchiveManager Parent
 
typedef
MPIArchiveJobDistributor::CompletionMessage 
CompletionMessage
 
typedef std::map< core::Size,
CompletionMessage
CompletionMessages
 

Private Attributes

core::Size const archive_rank_
 
core::Size const jd_master_rank_
 
core::Size const file_buf_rank_
 
CompletionMessages jobs_completed_
 
core::Size save_archive_time_interval_
 specify seconds between automatic saves to filesystem More...
 

Static Private Attributes

static bool options_registered_
 

Friends

class JobDistributorFactory
 

Additional Inherited Members

- Public Types inherited from protocols::jd2::archive::BaseArchiveManager
typedef utility::vector1< BatchBatchList
 
- Protected Attributes inherited from protocols::jd2::archive::BaseArchiveManager
utility::vector1< Batchbatches_
 
- Static Protected Attributes inherited from protocols::jd2::archive::BaseArchiveManager
static bool options_registered_
 

Detailed Description

ArchiveManager is responsible for communication with JobDistributor and organization of Batches and returning decoys he owns an Archive (AbstractArchiveBase) that will be handed the decoys and is asked to generate_batch() if the QUEUE_EMPTY .

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::jd2::archive::ArchiveManager::ArchiveManager ( core::Size  archive_rank,
core::Size  jd_master_rank,
core::Size  file_buf_rank 
)

ctor is protected; singleton pattern

constructor. Notice it calls the parent class! It also builds some internal variables for determining which processor it is in MPI land.

References options_registered_.

protocols::jd2::archive::ArchiveManager::~ArchiveManager ( )
inlineoverride

Member Function Documentation

virtual void protocols::jd2::archive::ArchiveManager::batch_underflow ( )
inlineprotectedvirtual

triggered in slave if new batch_ID comes in.

void protocols::jd2::archive::ArchiveManager::cancel_batch ( Batch batch,
bool  allow_reading_of_decoys = true 
)
overrideprotectedvirtual
void protocols::jd2::archive::ArchiveManager::go ( ArchiveBaseOP  archive)
void protocols::jd2::archive::ArchiveManager::idle ( )
protected
void protocols::jd2::archive::ArchiveManager::jobs_completed ( )
protected
void protocols::jd2::archive::ArchiveManager::queue_batch ( Batch const &  batch)
overrideprotectedvirtual
void protocols::jd2::archive::ArchiveManager::read_existing_batches ( )
protected
void protocols::jd2::archive::ArchiveManager::register_batch ( Batch  new_batch)
protected
void protocols::jd2::archive::ArchiveManager::register_options ( )
static
bool protocols::jd2::archive::ArchiveManager::restore_archive ( )
overridevirtual
void protocols::jd2::archive::ArchiveManager::save_archive ( )
overridevirtual
void protocols::jd2::archive::ArchiveManager::send_stop_to_jobdistributor ( )
protected
core::Size protocols::jd2::archive::ArchiveManager::unfinished_batches ( ) const
void protocols::jd2::archive::ArchiveManager::unlock_file ( Batch const &  batch,
bool  final 
)
overrideprotectedvirtual

Friends And Related Function Documentation

friend class JobDistributorFactory
friend

Member Data Documentation

core::Size const protocols::jd2::archive::ArchiveManager::archive_rank_
private

Referenced by go().

core::Size const protocols::jd2::archive::ArchiveManager::file_buf_rank_
private

Referenced by go().

core::Size const protocols::jd2::archive::ArchiveManager::jd_master_rank_
private

Referenced by go().

CompletionMessages protocols::jd2::archive::ArchiveManager::jobs_completed_
private

Referenced by go(), and idle().

bool protocols::jd2::archive::ArchiveManager::options_registered_
staticprivate

Referenced by ArchiveManager().

core::Size protocols::jd2::archive::ArchiveManager::save_archive_time_interval_
private

specify seconds between automatic saves to filesystem

Referenced by idle().


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