diff --git a/tutorial/bus-network.cc b/tutorial/ipv4-bus-network.cc similarity index 76% rename from tutorial/bus-network.cc rename to tutorial/ipv4-bus-network.cc index 7f6051340..898816c1b 100644 --- a/tutorial/bus-network.cc +++ b/tutorial/ipv4-bus-network.cc @@ -21,21 +21,36 @@ #include "ns3/csma-topology.h" #include "ns3/csma-ipv4-topology.h" -#include "bus-network.h" +#include "ipv4-bus-network.h" #include "ipv4-address-generator.h" namespace ns3 { -BusNetwork::BusNetwork ( - Ipv4Mask mask, +Ipv4Network::Ipv4Network ( Ipv4Address network, - Ipv4Address startAddress, + Ipv4Mask mask, + Ipv4Address address) +: + m_network (network), m_mask (mask), m_baseAddress (address) +{ +} + +Ipv4Network::~Ipv4Network () +{ +} + +Ipv4BusNetwork::Ipv4BusNetwork ( + Ipv4Address network, + Ipv4Mask mask, + Ipv4Address baseAddress, DataRate bps, Time delay, - uint32_t n) + uint32_t n) +: + Ipv4Network (network, mask, baseAddress) { Ipv4AddressGenerator::SeedNetwork (mask, network); - Ipv4AddressGenerator::SeedAddress (mask, startAddress); + Ipv4AddressGenerator::SeedAddress (mask, baseAddress); m_channel = CsmaTopology::CreateCsmaChannel (bps, delay); @@ -51,13 +66,12 @@ BusNetwork::BusNetwork ( } } -BusNetwork::~BusNetwork () +Ipv4BusNetwork::~Ipv4BusNetwork () { - m_nodes.erase (m_nodes.begin (), m_nodes.end ()); } Ptr -BusNetwork::GetNode (uint32_t n) +Ipv4BusNetwork::GetNode (uint32_t n) { return m_nodes[n]; } diff --git a/tutorial/bus-network.h b/tutorial/ipv4-bus-network.h similarity index 74% rename from tutorial/bus-network.h rename to tutorial/ipv4-bus-network.h index b69b6a6d5..de90f7bf7 100644 --- a/tutorial/bus-network.h +++ b/tutorial/ipv4-bus-network.h @@ -16,8 +16,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef BUS_NETWORK_H -#define BUS_NETWORK_H +#ifndef IPV4_BUS_NETWORK_H +#define IPV4_BUS_NETWORK_H #include #include "ns3/ptr.h" @@ -28,18 +28,29 @@ namespace ns3 { -class BusNetwork +class Ipv4Network { public: - BusNetwork ( - Ipv4Mask mask, + Ipv4Network (Ipv4Address network, Ipv4Mask mask, Ipv4Address address); + virtual ~Ipv4Network (); + + Ipv4Address m_network; + Ipv4Mask m_mask; + Ipv4Address m_baseAddress; +}; + +class Ipv4BusNetwork : public Ipv4Network +{ +public: + Ipv4BusNetwork ( Ipv4Address network, - Ipv4Address startAddress, + Ipv4Mask mask, + Ipv4Address baseAddress, DataRate bps, Time delay, uint32_t n); - virtual ~BusNetwork (); + virtual ~Ipv4BusNetwork (); Ptr GetNode (uint32_t n); @@ -50,4 +61,4 @@ private: }; // namespace ns3 -#endif /* BUS_NETWORK_H */ +#endif /* IPV4_BUS_NETWORK_H */ diff --git a/tutorial/tutorial-bus-network.cc b/tutorial/tutorial-bus-network.cc index 0bb3ef9d3..3b5907892 100644 --- a/tutorial/tutorial-bus-network.cc +++ b/tutorial/tutorial-bus-network.cc @@ -22,7 +22,7 @@ #include "ns3/nstime.h" #include "ns3/ascii-trace.h" -#include "bus-network.h" +#include "ipv4-bus-network.h" NS_LOG_COMPONENT_DEFINE ("BusNetworkSimulation"); @@ -32,20 +32,19 @@ int main (int argc, char *argv[]) { LogComponentEnable ("BusNetworkSimulation", LOG_LEVEL_ALL); - LogComponentEnable ("BusNetwork", LOG_LEVEL_ALL); NS_LOG_INFO ("Bus Network Simulation"); - BusNetwork busNetwork (Ipv4Mask ("255.255.0.0"), Ipv4Address ("10.1.0.0"), - Ipv4Address ("0.0.0.0"), DataRate(10000000), MilliSeconds(20), 10); + Ipv4BusNetwork bus ("10.1.0.0", "255.255.0.0", "0.0.0.0", + DataRate(10000000), MilliSeconds(20), 10); uint32_t port = 7; - Ptr n0 = busNetwork.GetNode (0); + Ptr n0 = bus.GetNode (0); Ptr client = Create (n0, "10.1.0.1", port, 1, Seconds(1.), 1024); - Ptr n1 = busNetwork.GetNode (1); + Ptr n1 = bus.GetNode (1); Ptr server = Create (n1, port); server->Start(Seconds(1.)); diff --git a/tutorial/wscript b/tutorial/wscript index b51f21c46..6b8ba9d31 100644 --- a/tutorial/wscript +++ b/tutorial/wscript @@ -40,5 +40,5 @@ def build(bld): obj = bld.create_ns3_program('tutorial-bus-network', ['core']) obj.source = ['tutorial-bus-network.cc', - 'bus-network.cc', + 'ipv4-bus-network.cc', 'ipv4-address-generator.cc']