From 58dd143df7a3285737703bf333ade70640cce3d6 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Tue, 25 Mar 2008 14:15:56 -0700 Subject: [PATCH] aggregate PacketSocketFactory when requested to. --- src/helper/packet-socket-helper.cc | 17 +++++++++++++++++ src/helper/packet-socket-helper.h | 25 +++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/helper/packet-socket-helper.cc create mode 100644 src/helper/packet-socket-helper.h diff --git a/src/helper/packet-socket-helper.cc b/src/helper/packet-socket-helper.cc new file mode 100644 index 000000000..7e471a3d0 --- /dev/null +++ b/src/helper/packet-socket-helper.cc @@ -0,0 +1,17 @@ +#include "packet-socket-helper.h" +#include "ns3/packet-socket-factory.h" + +namespace ns3 { + +void +PacketSocketHelper::Build (NodeContainer c) +{ + for (NodeContainer::Iterator i = c.Begin (); i != c.End (); ++i) + { + Ptr node = *i; + Ptr factory = CreateObject (); + node->AggregateObject (factory); + } +} + +} // namespace ns3 diff --git a/src/helper/packet-socket-helper.h b/src/helper/packet-socket-helper.h new file mode 100644 index 000000000..0278eb3bd --- /dev/null +++ b/src/helper/packet-socket-helper.h @@ -0,0 +1,25 @@ +#ifndef PACKET_SOCKET_HELPER_H +#define PACKET_SOCKET_HELPER_H + +#include "ns3/node-container.h" + +namespace ns3 { + +/** + * \brief Give ns3::PacketSocket powers to ns3::Node. + */ +class PacketSocketHelper +{ +public: + /** + * \param c container of node pointers + * + * For each node in the input container, aggregate a ns3::PacketSocketFactory + * object instance. + */ + void Build (NodeContainer c); +}; + +} // namespace ns3 + +#endif /* PACKET_SOCKET_HELPER_H */