A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::BridgeChannel Class Reference

Virtual channel implementation for bridges (BridgeNetDevice). More...

#include <bridge-channel.h>

+ Inheritance diagram for ns3::BridgeChannel:
+ Collaboration diagram for ns3::BridgeChannel:

Public Member Functions

 BridgeChannel ()
 
virtual ~BridgeChannel ()
 
void AddChannel (Ptr< Channel > bridgedChannel)
 
virtual Ptr< NetDeviceGetDevice (uint32_t i) const
 
virtual uint32_t GetNDevices (void) const
 
- Public Member Functions inherited from ns3::Channel
 Channel ()
 
virtual ~Channel ()
 
uint32_t GetId (void) const
 
- Public Member Functions inherited from ns3::Object
 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 Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
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)
 
- Static Public Member Functions inherited from ns3::Channel
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Member Functions

 BridgeChannel (const BridgeChannel &)
 
BridgeChanneloperator= (const BridgeChannel &)
 

Private Attributes

std::vector< Ptr< Channel > > m_bridgedChannels
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

Virtual channel implementation for bridges (BridgeNetDevice).

Just like BridgeNetDevice aggregates multiple NetDevices, BridgeChannel aggregates multiple channels and make them appear as a single channel to upper layers.

Config Paths

ns3::BridgeChannel is accessible through the following paths with Config::Set and Config::Connect:

  • /ChannelList/[i]/$ns3::BridgeChannel

No Attributes are defined for this type.
No TraceSources are defined for this type.

Definition at line 36 of file bridge-channel.h.

Constructor & Destructor Documentation

ns3::BridgeChannel::BridgeChannel ( )

Definition at line 38 of file bridge-channel.cc.

References NS_LOG_FUNCTION_NOARGS.

ns3::BridgeChannel::~BridgeChannel ( )
virtual

Definition at line 44 of file bridge-channel.cc.

References m_bridgedChannels, and NS_LOG_FUNCTION_NOARGS.

ns3::BridgeChannel::BridgeChannel ( const BridgeChannel )
private

Member Function Documentation

void ns3::BridgeChannel::AddChannel ( Ptr< Channel bridgedChannel)

Definition at line 58 of file bridge-channel.cc.

References m_bridgedChannels.

Ptr< NetDevice > ns3::BridgeChannel::GetDevice ( uint32_t  i) const
virtual
Parameters
iindex of NetDevice to retrieve
Returns
one of the NetDevices connected to this channel.

This method must be implemented by subclasses.

Implements ns3::Channel.

Definition at line 77 of file bridge-channel.cc.

References m_bridgedChannels.

uint32_t ns3::BridgeChannel::GetNDevices ( void  ) const
virtual
Returns
the number of NetDevices connected to this Channel.

This method must be implemented by subclasses.

Implements ns3::Channel.

Definition at line 64 of file bridge-channel.cc.

References m_bridgedChannels.

TypeId ns3::BridgeChannel::GetTypeId ( void  )
static

Definition at line 29 of file bridge-channel.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

BridgeChannel& ns3::BridgeChannel::operator= ( const BridgeChannel )
private

Member Data Documentation

std::vector< Ptr<Channel> > ns3::BridgeChannel::m_bridgedChannels
private

Definition at line 54 of file bridge-channel.h.

Referenced by AddChannel(), GetDevice(), GetNDevices(), and ~BridgeChannel().


The documentation for this class was generated from the following files: