diff -r a6113320f46a src/helper/csma-helper.cc --- a/src/helper/csma-helper.cc Thu Aug 07 12:22:38 2008 -0700 +++ b/src/helper/csma-helper.cc Thu Aug 07 12:36:30 2008 -0700 @@ -192,6 +192,20 @@ CsmaHelper::Install (const NodeContainer return container; } +std::pair +CsmaHelper::InstallStar (Ptr center, const NodeContainer &terminals) +{ + NetDeviceContainer centerDevices; + NetDeviceContainer terminalDevices; + for (NodeContainer::Iterator i = terminals.Begin (); i != terminals.End (); ++i) + { + NetDeviceContainer link = Install (NodeContainer (*i, center)); + terminalDevices.Add (link.Get (0)); + centerDevices.Add (link.Get (1)); + } + return std::make_pair (centerDevices, terminalDevices); +} + void CsmaHelper::EnqueueEvent (Ptr writer, Ptr packet) { diff -r a6113320f46a src/helper/csma-helper.h --- a/src/helper/csma-helper.h Thu Aug 07 12:22:38 2008 -0700 +++ b/src/helper/csma-helper.h Thu Aug 07 12:36:30 2008 -0700 @@ -179,6 +179,8 @@ public: */ NetDeviceContainer Install (const NodeContainer &c, Ptr channel); + std::pair InstallStar (Ptr center, const NodeContainer &terminals); + private: static void RxEvent (Ptr writer, Ptr packet); static void EnqueueEvent (Ptr writer, Ptr packet);