NCBI C++ ToolKit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CBlastMasterNode Class Reference

Search Toolkit Book for CBlastMasterNode

#include <algo/blast/api/blast_node.hpp>

+ Collaboration diagram for CBlastMasterNode:

Public Types

typedef map< int, CRef< CBlastNodeMailbox > > TPostOffice
 
typedef map< int, CRef< CBlastNode > > TRegisteredNodes
 
typedef map< int, double > TActiveNodes
 
typedef map< int, CRef< CBlastNodeMsg > > TFormatQueue
 

Public Member Functions

 CBlastMasterNode (CNcbiOstream &out_stream, int num_threads)
 
void RegisterNode (CBlastNode *node, CBlastNodeMailbox *mailbox)
 
int GetNumNodes ()
 
int IsFull ()
 
void Shutdown ()
 
bool Processing ()
 
int IsActive ()
 
void FormatResults ()
 
CConditionVariableGetBuzzer ()
 
 ~CBlastMasterNode ()
 
int GetNumOfQueries ()
 
Int8 GetQueriesLength ()
 
int GetNumErrStatus ()
 

Private Member Functions

void x_WaitForNewEvent ()
 

Private Attributes

CNcbiOstreamm_OutputStream
 
int m_MaxNumThreads
 
int m_MaxNumNodes
 
CFastMutex m_Mutex
 
CStopWatch m_StopWatch
 
TPostOffice m_PostOffice
 
TRegisteredNodes m_RegisteredNodes
 
TActiveNodes m_ActiveNodes
 
TFormatQueue m_FormatQueue
 
CConditionVariable m_NewEvent
 
int m_NumErrStatus
 
int m_NumQueries
 
Int8 m_QueriesLength
 

Detailed Description

Definition at line 132 of file blast_node.hpp.

Member Typedef Documentation

◆ TActiveNodes

Definition at line 138 of file blast_node.hpp.

◆ TFormatQueue

Definition at line 139 of file blast_node.hpp.

◆ TPostOffice

Definition at line 136 of file blast_node.hpp.

◆ TRegisteredNodes

Definition at line 137 of file blast_node.hpp.

Constructor & Destructor Documentation

◆ CBlastMasterNode()

CBlastMasterNode::CBlastMasterNode ( CNcbiOstream out_stream,
int  num_threads 
)

Definition at line 121 of file blast_node.cpp.

References m_StopWatch, and CStopWatch::Start().

◆ ~CBlastMasterNode()

CBlastMasterNode::~CBlastMasterNode ( )
inline

Definition at line 154 of file blast_node.hpp.

Member Function Documentation

◆ FormatResults()

void CBlastMasterNode::FormatResults ( )

◆ GetBuzzer()

CConditionVariable& CBlastMasterNode::GetBuzzer ( )
inline

◆ GetNumErrStatus()

int CBlastMasterNode::GetNumErrStatus ( )
inline

◆ GetNumNodes()

int CBlastMasterNode::GetNumNodes ( )
inline

Definition at line 141 of file blast_node.hpp.

References m_RegisteredNodes, and map_checker< Container >::size().

◆ GetNumOfQueries()

int CBlastMasterNode::GetNumOfQueries ( )
inline

◆ GetQueriesLength()

Int8 CBlastMasterNode::GetQueriesLength ( )
inline

◆ IsActive()

int CBlastMasterNode::IsActive ( )
inline

Definition at line 145 of file blast_node.hpp.

References m_MaxNumNodes, m_RegisteredNodes, and map_checker< Container >::size().

Referenced by Processing().

◆ IsFull()

int CBlastMasterNode::IsFull ( )

◆ Processing()

bool CBlastMasterNode::Processing ( )

◆ RegisterNode()

void CBlastMasterNode::RegisterNode ( CBlastNode node,
CBlastNodeMailbox mailbox 
)

◆ Shutdown()

void CBlastMasterNode::Shutdown ( )
inline

◆ x_WaitForNewEvent()

void CBlastMasterNode::x_WaitForNewEvent ( )
private

Definition at line 129 of file blast_node.cpp.

References m_Mutex, m_NewEvent, and CConditionVariable::WaitForSignal().

Referenced by Processing().

Member Data Documentation

◆ m_ActiveNodes

TActiveNodes CBlastMasterNode::m_ActiveNodes
private

Definition at line 168 of file blast_node.hpp.

Referenced by IsFull(), and Processing().

◆ m_FormatQueue

TFormatQueue CBlastMasterNode::m_FormatQueue
private

Definition at line 169 of file blast_node.hpp.

Referenced by FormatResults(), and Processing().

◆ m_MaxNumNodes

int CBlastMasterNode::m_MaxNumNodes
private

Definition at line 163 of file blast_node.hpp.

Referenced by IsActive(), IsFull(), and Shutdown().

◆ m_MaxNumThreads

int CBlastMasterNode::m_MaxNumThreads
private

Definition at line 162 of file blast_node.hpp.

Referenced by IsFull(), and Processing().

◆ m_Mutex

CFastMutex CBlastMasterNode::m_Mutex
private

Definition at line 164 of file blast_node.hpp.

Referenced by RegisterNode(), and x_WaitForNewEvent().

◆ m_NewEvent

CConditionVariable CBlastMasterNode::m_NewEvent
private

Definition at line 170 of file blast_node.hpp.

Referenced by GetBuzzer(), and x_WaitForNewEvent().

◆ m_NumErrStatus

int CBlastMasterNode::m_NumErrStatus
private

Definition at line 171 of file blast_node.hpp.

Referenced by FormatResults(), and GetNumErrStatus().

◆ m_NumQueries

int CBlastMasterNode::m_NumQueries
private

Definition at line 172 of file blast_node.hpp.

Referenced by FormatResults(), and GetNumOfQueries().

◆ m_OutputStream

CNcbiOstream& CBlastMasterNode::m_OutputStream
private

Definition at line 161 of file blast_node.hpp.

Referenced by FormatResults().

◆ m_PostOffice

TPostOffice CBlastMasterNode::m_PostOffice
private

Definition at line 166 of file blast_node.hpp.

Referenced by FormatResults(), Processing(), and RegisterNode().

◆ m_QueriesLength

Int8 CBlastMasterNode::m_QueriesLength
private

Definition at line 173 of file blast_node.hpp.

Referenced by FormatResults(), and GetQueriesLength().

◆ m_RegisteredNodes

TRegisteredNodes CBlastMasterNode::m_RegisteredNodes
private

Definition at line 167 of file blast_node.hpp.

Referenced by FormatResults(), GetNumNodes(), IsActive(), IsFull(), and RegisterNode().

◆ m_StopWatch

CStopWatch CBlastMasterNode::m_StopWatch
private

Definition at line 165 of file blast_node.hpp.

Referenced by CBlastMasterNode(), and Processing().


The documentation for this class was generated from the following files:
Modified on Wed Jul 17 13:22:15 2024 by modify_doxy.py rev. 669887