Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
protocols::wum::DatabaseQueryWorkUnitManager< T > Class Template Reference

#include <DatabaseQueryWorkUnitManager.hh>

Inheritance diagram for protocols::wum::DatabaseQueryWorkUnitManager< T >:
Inheritance graph
[legend]
Collaboration diagram for protocols::wum::DatabaseQueryWorkUnitManager< T >:
Collaboration graph
[legend]

Public Member Functions

 DatabaseQueryWorkUnitManager (core::Size master_rank, utility::sql_database::sessionOP db_session, std::string query_string, std::string wu_type)
 
virtual ~DatabaseQueryWorkUnitManager ()
 
virtual void go ()
 
- Public Member Functions inherited from protocols::wum::MPI_WorkUnitManager
 MPI_WorkUnitManager (char machine_letter)
 
virtual ~MPI_WorkUnitManager ()
 
- Public Member Functions inherited from protocols::wum::WorkUnitManager
 WorkUnitManager ()
 
virtual ~WorkUnitManager ()
 
void register_work_units (const protocols::wum::WorkUnitList &work_unit_list)
 
WorkUnitQueueoutbound ()
 
WorkUnitQueueinbound ()
 
const WorkUnitQueueoutbound () const
 
const WorkUnitQueueinbound () const
 

Protected Member Functions

virtual void init ()
 
virtual void process_inbound_wus ()
 Process the inbound WUs (these will be the same DB work units send during the constructor - but now they have the data we want). More...
 
virtual void process_outbound_wus ()
 create the database WUs and add them to the outgoing queue More...
 
void create_work_units_from_query (std::string wu_type)
 
core::Size master_rank ()
 
core::Size my_emperor ()
 
- Protected Member Functions inherited from protocols::wum::MPI_WorkUnitManager
virtual void print_stats ()
 Print a line with general run statistics, now. More...
 
virtual void print_stats_auto ()
 Print a line with general run statistics, only if enough time has pased since the last statistics printout. More...
 
void reset_timing_stats ()
 Reset all the stats counters. More...
 
void process_incoming_msgs (bool wait_until_message=false)
 MPI Communication function. More...
 
void send_MPI_workunit (const WorkUnitBaseOP &wu, int dest_rank) const
 Send a workunit to an arbitrary recipient. More...
 
void receive_MPI_workunit (core::Size node_rank=MPI_ANY_SOURCE)
 Receive a workunit and add it to the inbound queue. By default accept any workunit or accept a specific source rank. Note that this function is blocking and will onyl return once a workunit has been received. More...
 
void send_next_WU_on_request ()
 
char get_machine_letter ()
 How many masters are there in total ? More...
 
core::Real start_timer (MPI_TIMING timing_mode) const
 This initiates a new timer block. Note that there is no end_timer() function - you just keep calling start_timer, which automatically ends the previous block (and records times etc) More...
 
void print_timing_stats ()
 Display the timing statistics. More...
 
long wall_time () const
 Return the total life time of this class in seconds. More...
 
- Protected Member Functions inherited from protocols::wum::WorkUnitManager
const
protocols::wum::WorkUnitList
work_unit_list () const
 
protocols::wum::WorkUnitListwork_unit_list ()
 
void write_queues_to_file (const std::string &prefix="default") const
 
void write_work_unit (const WorkUnitBaseOP &wu, std::ostream &out) const
 
void write_queue (const WorkUnitQueue &the_queue, std::ostream &out) const
 
void read_queues_from_file (const std::string &prefix="default")
 
bool read_work_unit (WorkUnitBaseOP &qualified_wu, std::istream &in)
 
void read_queue (WorkUnitQueue &the_queue, std::istream &in)
 
core::Size mem_foot_print () const
 return total memory foot print in bytes More...
 

Private Attributes

const core::Size my_emperor_
 
const core::Size master_rank_
 
utility::sql_database::sessionOP db_session_
 
std::string query_string_
 

Additional Inherited Members

- Public Types inherited from protocols::wum::WorkUnitManager
typedef WorkUnitQueue::iterator iterator
 
typedef
WorkUnitQueue::const_iterator 
const_iterator
 
- Protected Types inherited from protocols::wum::MPI_WorkUnitManager
enum  MPI_TIMING {
  TIMING_WAIT =0, TIMING_TRANSFER_SEND, TIMING_TRANSFER_RECV, TIMING_CPU,
  TIMING_IO_WRITE, TIMING_IO_READ, TIMING_IDLE, TIMING_end
}
 

Constructor & Destructor Documentation

template<class T >
protocols::wum::DatabaseQueryWorkUnitManager< T >::DatabaseQueryWorkUnitManager ( core::Size  master_rank,
utility::sql_database::sessionOP  db_session,
std::string  query_string,
std::string  wu_type 
)
template<class T >
virtual protocols::wum::DatabaseQueryWorkUnitManager< T >::~DatabaseQueryWorkUnitManager ( )
inlinevirtual

Member Function Documentation

template<class T >
void protocols::wum::DatabaseQueryWorkUnitManager< T >::create_work_units_from_query ( std::string  wu_type)
protected
template<class T >
void protocols::wum::DatabaseQueryWorkUnitManager< T >::go ( )
virtual
template<class T >
virtual void protocols::wum::DatabaseQueryWorkUnitManager< T >::init ( void  )
inlineprotectedvirtual
template<class T >
core::Size protocols::wum::DatabaseQueryWorkUnitManager< T >::master_rank ( )
inlineprotected
template<class T >
core::Size protocols::wum::DatabaseQueryWorkUnitManager< T >::my_emperor ( )
inlineprotected
template<class T >
void protocols::wum::DatabaseQueryWorkUnitManager< T >::process_inbound_wus ( )
protectedvirtual

Process the inbound WUs (these will be the same DB work units send during the constructor - but now they have the data we want).

Implements protocols::wum::MPI_WorkUnitManager.

References protocols::wum::DatabaseEntryWorkUnit::result_query_string(), core::io::serialization::size(), and protocols::wum::TR().

template<class T >
void protocols::wum::DatabaseQueryWorkUnitManager< T >::process_outbound_wus ( )
protectedvirtual

create the database WUs and add them to the outgoing queue

Implements protocols::wum::MPI_WorkUnitManager.

Member Data Documentation

template<class T >
utility::sql_database::sessionOP protocols::wum::DatabaseQueryWorkUnitManager< T >::db_session_
private
template<class T >
const core::Size protocols::wum::DatabaseQueryWorkUnitManager< T >::master_rank_
private
template<class T >
const core::Size protocols::wum::DatabaseQueryWorkUnitManager< T >::my_emperor_
private
template<class T >
std::string protocols::wum::DatabaseQueryWorkUnitManager< T >::query_string_
private

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