#include "simple-channel.h" #include "simple-net-device.h" #include "ns3/packet.h" namespace ns3 { TypeId SimpleChannel::GetTypeId (void) { static TypeId tid = TypeId ("ns3::SimpleChannel") .SetParent () .AddConstructor () ; return tid; } SimpleChannel::SimpleChannel () {} void SimpleChannel::Send (Ptr p, uint16_t protocol, Mac48Address to, Mac48Address from, Ptr sender) { for (std::vector >::const_iterator i = m_devices.begin (); i != m_devices.end (); ++i) { Ptr tmp = *i; if (tmp == sender) { continue; } tmp->Receive (p->Copy (), protocol, to, from); } } void SimpleChannel::Add (Ptr device) { m_devices.push_back (device); } uint32_t SimpleChannel::GetNDevices (void) const { return m_devices.size (); } Ptr SimpleChannel::GetDevice (uint32_t i) const { return m_devices[i]; } } // namespace ns3