クラス Onikiri::RoundRobinFetchThreadSteerer

#include <RoundRobinFetchThreadSteerer.h>

Onikiri::RoundRobinFetchThreadSteererに対する継承グラフ

Inheritance graph
[凡例]
Onikiri::RoundRobinFetchThreadSteererのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

virtual void Finalize ()
virtual void Initialize (InitPhase phase)
 RoundRobinFetchThreadSteerer ()
virtual ThreadSteerThread (bool update)
virtual ~RoundRobinFetchThreadSteerer ()

説明

RoundRobinFetchThreadSteerer.h44 行で定義されています。


コンストラクタとデストラクタ

RoundRobinFetchThreadSteerer::RoundRobinFetchThreadSteerer (  ) 

RoundRobinFetchThreadSteerer.cpp39 行で定義されています。

00039                                                            :
00040     m_nextThread(0)
00041 {
00042 }

RoundRobinFetchThreadSteerer::~RoundRobinFetchThreadSteerer (  )  [virtual]

RoundRobinFetchThreadSteerer.cpp45 行で定義されています。

00046 {
00047 }


関数

void RoundRobinFetchThreadSteerer::Finalize (  )  [virtual]

Onikiri::PhysicalResourceNodeを再定義しています。

RoundRobinFetchThreadSteerer.cpp62 行で定義されています。

参照先 Onikiri::PhysicalResourceNode::ReleaseParam().

00063 {
00064     ReleaseParam();
00065 }

関数の呼び出しグラフ:

void RoundRobinFetchThreadSteerer::Initialize ( InitPhase  phase  )  [virtual]

RoundRobinFetchThreadSteerer.cpp49 行で定義されています。

参照先 Onikiri::PhysicalResourceNode::CheckNodeInitialized()Onikiri::PhysicalResourceNode::INIT_POST_CONNECTIONOnikiri::PhysicalResourceNode::INIT_PRE_CONNECTIONOnikiri::ParamExchange::LoadParam().

00050 {
00051     if (phase == INIT_PRE_CONNECTION){
00052         LoadParam();
00053         return;
00054     }
00055     if (phase == INIT_POST_CONNECTION){
00056 
00057         CheckNodeInitialized( "thread", m_thread );
00058 
00059     }
00060 }

関数の呼び出しグラフ:

Thread * RoundRobinFetchThreadSteerer::SteerThread ( bool  update  )  [virtual]

Onikiri::FetchThreadSteererIFを実装しています。

RoundRobinFetchThreadSteerer.cpp67 行で定義されています。

00068 {
00069     int count = 0;
00070     int currentFetchThread = m_nextThread;
00071     bool found = true;
00072     while ( !m_thread[currentFetchThread]->IsActive() )
00073     {
00074         currentFetchThread = (currentFetchThread + 1) % m_thread.GetSize();
00075         count++;
00076         if( count >= m_thread.GetSize() ){
00077             found = false;
00078             break;
00079         }
00080     }
00081 
00082     if( update )
00083         m_nextThread = (currentFetchThread + 1) % m_thread.GetSize();
00084 
00085     if( !found ){
00086         return NULL;
00087     }
00088 
00089     return m_thread[currentFetchThread];
00090 }


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:19:28 2013に生成されました。  doxygen 1.4.7