Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

void Impala::Core::Matrix::DistributedAccess::StartEventLoop (  )  [inline]

Definition at line 498 of file DistributedAccess.h.

References Impala::Core::Vector::VectorTem< ElemT >::GetData(), GetDataFromPart(), Impala::Util::PropertySet::GetInt(), Impala::Util::PropertySet::GetString(), ILOG_ERROR, and Impala::Core::Vector::VectorTem< ElemT >::Size().

Referenced by Impala::Application::RunDistributedLearningEngine(), and Impala::Core::Training::Factory::ServeDistributedAccess().

00499     {
00500         int subscribers = 0;
00501         do
00502         {
00503             int source;
00504             String messageString = Link::Mpi::ReceiveString(source);
00505             Util::PropertySet message(messageString);
00506             String cmd = message.GetString("cmd");
00507             ILOG_DEBUG_NODE("received cmd: " << messageString);
00508             if (cmd == "subscribe")
00509             {
00510                 subscribers++;
00511                 ILOG_DEBUG_NODE("subscription added: id=" << source <<
00512                                 " new #=" << subscribers);
00513                 continue;
00514             }
00515             if (cmd == "unsubscribe")
00516             {
00517                 subscribers--;
00518                 ILOG_DEBUG_NODE("subscription removed: #=" << subscribers);
00519                 continue;
00520             }
00521             if ((cmd != "diagonal") && (cmd != "row") && (cmd != "column"))
00522                 ILOG_ERROR("unknown command: " << cmd);
00523             int part = message.GetInt("part");
00524             int index = message.GetInt("arg");
00525             Vector64 v = GetDataFromPart(cmd, part, index);
00526             Link::Mpi::SendData(v.GetData(), v.Size(), source);
00527         }
00528         while (subscribers > 0);
00529     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:20:19 2011 for ImpalaSrc by  doxygen 1.5.1