Simple Point To Point Channel. More...
#include <point-to-point-channel.h>
Public Member Functions | |
PointToPointChannel () | |
Create a PointToPointChannel. | |
void | Attach (Ptr< PointToPointNetDevice > device) |
Attach a given netdevice to this channel. | |
bool | TransmitStart (Ptr< Packet > p, Ptr< PointToPointNetDevice > src, Time txTime) |
Transmit a packet over this channel. | |
virtual uint32_t | GetNDevices (void) const |
Get number of devices on this channel. | |
virtual Ptr< NetDevice > | GetDevice (uint32_t i) const |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::PointToPointChannel. | |
Private Attributes | |
TracedCallback< Ptr< const Packet >, Ptr< NetDevice > , Ptr< NetDevice >, Time, Time > | m_txrxPointToPoint |
Simple Point To Point Channel.
This class represents a very simple point to point channel. Think full duplex RS-232 or RS-422 with null modem and no handshaking. There is no multi-drop capability on this channel -- there can be a maximum of two point-to-point net devices connected.
There are two "wires" in the channel. The first device connected gets the [0] wire to transmit on. The second device gets the [1] wire. There is a state (IDLE, TRANSMITTING) associated with each wire.
ns3::PointToPointChannel::PointToPointChannel | ( | ) |
Create a PointToPointChannel.
By default, you get a channel that has zero transmission delay.
void ns3::PointToPointChannel::Attach | ( | Ptr< PointToPointNetDevice > | device | ) |
Attach a given netdevice to this channel.
device | pointer to the netdevice to attach to the channel |
i | index of NetDevice to retrieve |
This method must be implemented by subclasses.
Implements ns3::Channel.
virtual uint32_t ns3::PointToPointChannel::GetNDevices | ( | void | ) | const [virtual] |
Get number of devices on this channel.
Implements ns3::Channel.
static TypeId ns3::PointToPointChannel::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::PointToPointChannel.
Attributes defined for this type:
Attributes defined in parent class ns3::Channel:
TraceSources defined for this type:
Reimplemented from ns3::Channel.
bool ns3::PointToPointChannel::TransmitStart | ( | Ptr< Packet > | p, | |
Ptr< PointToPointNetDevice > | src, | |||
Time | txTime | |||
) |
Transmit a packet over this channel.
p | Packet to transmit | |
src | Source PointToPointNetDevice | |
txTime | Transmit time to apply |
TracedCallback<Ptr<const Packet>, Ptr<NetDevice>, Ptr<NetDevice>, Time, Time > ns3::PointToPointChannel::m_txrxPointToPoint [private] |
The trace source for the packet transmission animation events that the device can fire. Arguments to the callback are the packet, transmitting net device, receiving net device, transmittion time and packet receipt time.