ApplicationContainer
应用容器,数据成员
private:
std::vector<Ptr<Application> > m_applications;
函数成员
void
ApplicationContainer::Start (Time start)
{
for (Iterator i = Begin (); i != End (); ++i)
{
Ptr<Application> app = *i;
app->SetStartTime (start);
}
}
void
ApplicationContainer::Stop (Time stop)
{
for (Iterator i = Begin (); i != End (); ++i)
{
Ptr<Application> app = *i;
app->SetStopTime (stop);
}
}
Helper
install函数,生成并返回一个ApplicationContainer
ApplicationContainer Install (Ptr<Node> node) const{
return ApplicationContainer (InstallPriv (node));
}
ApplicationContainer Install (std::string nodeName) const;
ApplicationContainer Install (NodeContainer c) const
{
ApplicationContainer apps;
for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i)
{
apps.Add (InstallPriv (*i));
}
return apps;
}
InstallPriv
Ptr<Application>InstallPriv (Ptr<Node> node) const
{
Ptr<Application> app = m_factory.Create<UdpEchoServer> ();
node->AddApplication (app);
return app;
}
Node::AddApplication则调用Application::SetNode来为Application绑定一个Node.