Abstract Channel Base Class. More...
#include <channel.h>
Public Member Functions | |
Channel () | |
virtual | ~Channel () |
virtual Ptr< NetDevice > | GetDevice (uint32_t i) const =0 |
uint32_t | GetId (void) const |
virtual uint32_t | GetNDevices (void) const =0 |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Start (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::Channel. |
Private Attributes | |
uint32_t | m_id |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoStart (void) |
virtual void | NotifyNewAggregate (void) |
A channel is a logical path over which information flows. The path can be as simple as a short piece of wire, or as complicated as space-time.
Subclasses must use Simulator::ScheduleWithContext to correctly update event contexts when scheduling an event from one node to another one.
ns3::Channel::Channel | ( | ) |
Definition at line 45 of file channel.cc.
References ns3::ChannelList::Add(), m_id, and NS_LOG_FUNCTION_NOARGS.
|
virtual |
Definition at line 52 of file channel.cc.
References NS_LOG_FUNCTION_NOARGS.
i | index of NetDevice to retrieve |
This method must be implemented by subclasses.
Implemented in ns3::CsmaChannel, ns3::MultiModelSpectrumChannel, ns3::PointToPointChannel, ns3::UanChannel, ns3::SingleModelSpectrumChannel, ns3::YansWifiChannel, ns3::WimaxChannel, ns3::ErrorChannel, ns3::SimpleChannel, and ns3::BridgeChannel.
Referenced by ns3::GlobalRouter::AnotherRouterOnLink(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::DistributedSimulatorImpl::CalculateLookAhead(), ns3::GlobalRouter::FindDesignatedRouterForLink(), ns3::GlobalRouter::GetAdjacent(), ns3::Ipv4NixVectorRouting::GetAdjacentNetDevices(), and ns3::AnimationInterface::StartAnimation().
uint32_t ns3::Channel::GetId | ( | void | ) | const |
This unique id happens to be also the index of the Channel into the ChannelList.
Definition at line 58 of file channel.cc.
References m_id.
|
pure virtual |
This method must be implemented by subclasses.
Implemented in ns3::CsmaChannel, ns3::MultiModelSpectrumChannel, ns3::PointToPointChannel, ns3::UanChannel, ns3::SingleModelSpectrumChannel, ns3::YansWifiChannel, ns3::WimaxChannel, ns3::ErrorChannel, ns3::SimpleChannel, and ns3::BridgeChannel.
Referenced by ns3::GlobalRouter::AnotherRouterOnLink(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::GlobalRouter::FindDesignatedRouterForLink(), ns3::GlobalRouter::GetAdjacent(), ns3::Ipv4NixVectorRouting::GetAdjacentNetDevices(), and ns3::AnimationInterface::StartAnimation().
|
static |
This method returns the TypeId associated to ns3::Channel.
Attributes defined for this type:
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Reimplemented in ns3::MultiModelSpectrumChannel, ns3::CsmaChannel, ns3::UanChannel, ns3::YansWifiChannel, ns3::PointToPointChannel, ns3::SpectrumChannel, ns3::SingleModelSpectrumChannel, ns3::WifiChannel, ns3::WimaxChannel, ns3::ErrorChannel, ns3::BridgeChannel, ns3::SimpleChannel, and ns3::PointToPointRemoteChannel.
Definition at line 33 of file channel.cc.
References ns3::TypeId::ATTR_GET, m_id, and ns3::TypeId::SetParent().
|
private |
Definition at line 74 of file channel.h.
Referenced by Channel(), GetId(), and GetTypeId().