#include <RoundRobinFetchThreadSteerer.h>
Onikiri::RoundRobinFetchThreadSteererに対する継承グラフ
Public メソッド | |
virtual void | Finalize () |
virtual void | Initialize (InitPhase phase) |
RoundRobinFetchThreadSteerer () | |
virtual Thread * | SteerThread (bool update) |
virtual | ~RoundRobinFetchThreadSteerer () |
RoundRobinFetchThreadSteerer.h の 44 行で定義されています。
RoundRobinFetchThreadSteerer::RoundRobinFetchThreadSteerer | ( | ) |
RoundRobinFetchThreadSteerer::~RoundRobinFetchThreadSteerer | ( | ) | [virtual] |
void RoundRobinFetchThreadSteerer::Finalize | ( | ) | [virtual] |
Onikiri::PhysicalResourceNodeを再定義しています。
RoundRobinFetchThreadSteerer.cpp の 62 行で定義されています。
参照先 Onikiri::PhysicalResourceNode::ReleaseParam().
00063 { 00064 ReleaseParam(); 00065 }
関数の呼び出しグラフ:
void RoundRobinFetchThreadSteerer::Initialize | ( | InitPhase | phase | ) | [virtual] |
RoundRobinFetchThreadSteerer.cpp の 49 行で定義されています。
参照先 Onikiri::PhysicalResourceNode::CheckNodeInitialized()・Onikiri::PhysicalResourceNode::INIT_POST_CONNECTION・Onikiri::PhysicalResourceNode::INIT_PRE_CONNECTION・Onikiri::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.cpp の 67 行で定義されています。
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 }