A Discrete-Event Network Simulator
API
ns3::Reservation Class Reference

Stores reservation info for use in scheduling data channel by reservation channel MAC. More...

#include "uan-mac-rc.h"

+ Collaboration diagram for ns3::Reservation:

Public Member Functions

 Reservation ()
 Default constructor. More...
 
 Reservation (std::list< std::pair< Ptr< Packet >, Mac8Address >> &list, uint8_t frameNo, uint32_t maxPkts=0)
 Create Reservation object with given packet list, frame number and max packets. More...
 
 ~Reservation ()
 Destructor. More...
 
void AddTimestamp (Time t)
 Set the time of the latest RTS sent. More...
 
uint8_t GetFrameNo () const
 Get the frame number. More...
 
uint32_t GetLength () const
 Get the total length of the Reservation. More...
 
uint32_t GetNoFrames () const
 Get the number of frames in this Reservation. More...
 
const std::list< std::pair< Ptr< Packet >, Mac8Address > > & GetPktList () const
 Get the list of packets. More...
 
uint8_t GetRetryNo () const
 Get the retry number. More...
 
Time GetTimestamp (uint8_t n) const
 Get the timestamp for the n'th RTS. More...
 
void IncrementRetry ()
 Increment the retry count. More...
 
bool IsTransmitted () const
 
void SetFrameNo (uint8_t fn)
 Set the frame number. More...
 
void SetTransmitted (bool t=true)
 Set the reservation transmitted state. More...
 

Private Attributes

uint8_t m_frameNo
 Frame number. More...
 
uint32_t m_length
 Total length of queued packets. More...
 
std::list< std::pair< Ptr< Packet >, Mac8Address > > m_pktList
 Queued packets for each address. More...
 
uint8_t m_retryNo
 Number of retries. More...
 
std::vector< Timem_timestamp
 Timestamps for each retry. More...
 
bool m_transmitted
 Has this reservation been transmitted. More...
 

Detailed Description

Stores reservation info for use in scheduling data channel by reservation channel MAC.

Definition at line 50 of file uan-mac-rc.h.

Constructor & Destructor Documentation

◆ Reservation() [1/2]

ns3::Reservation::Reservation ( )

Default constructor.

Definition at line 45 of file uan-mac-rc.cc.

◆ Reservation() [2/2]

ns3::Reservation::Reservation ( std::list< std::pair< Ptr< Packet >, Mac8Address >> &  list,
uint8_t  frameNo,
uint32_t  maxPkts = 0 
)

Create Reservation object with given packet list, frame number and max packets.

Parameters
listList of packets for assigned to reservation.
frameNoFrame number of reservation transmission.
maxPktsMaximum number of packets to assign to reservation from packet list (0 = no maximum).

Definition at line 53 of file uan-mac-rc.cc.

References ns3::UanHeaderCommon::GetSerializedSize(), ns3::UanHeaderRcData::GetSerializedSize(), list, m_length, and m_pktList.

+ Here is the call graph for this function:

◆ ~Reservation()

ns3::Reservation::~Reservation ( )

Destructor.

Definition at line 74 of file uan-mac-rc.cc.

References m_pktList, and m_timestamp.

Member Function Documentation

◆ AddTimestamp()

void ns3::Reservation::AddTimestamp ( Time  t)

Set the time of the latest RTS sent.

Parameters
tRTS timestamp.

Definition at line 133 of file uan-mac-rc.cc.

References m_timestamp.

◆ GetFrameNo()

uint8_t ns3::Reservation::GetFrameNo ( ) const

Get the frame number.

Returns
The frame number.

Definition at line 103 of file uan-mac-rc.cc.

References m_frameNo.

◆ GetLength()

uint32_t ns3::Reservation::GetLength ( void  ) const

Get the total length of the Reservation.

This is the sum of packets with headers.

Returns
Total length, in bytes.

Definition at line 91 of file uan-mac-rc.cc.

References m_length.

◆ GetNoFrames()

uint32_t ns3::Reservation::GetNoFrames ( ) const

Get the number of frames in this Reservation.

Returns
Number of frames.

Definition at line 85 of file uan-mac-rc.cc.

References m_pktList.

◆ GetPktList()

const std::list< std::pair< Ptr< Packet >, Mac8Address > > & ns3::Reservation::GetPktList ( ) const

Get the list of packets.

Returns
The list of packets.

Definition at line 97 of file uan-mac-rc.cc.

References m_pktList.

◆ GetRetryNo()

uint8_t ns3::Reservation::GetRetryNo ( ) const

Get the retry number.

Returns
The retry number.

Definition at line 109 of file uan-mac-rc.cc.

References m_retryNo.

◆ GetTimestamp()

Time ns3::Reservation::GetTimestamp ( uint8_t  n) const

Get the timestamp for the n'th RTS.

Parameters
nWhich retry number.
Returns
N'th timestamp.

Definition at line 115 of file uan-mac-rc.cc.

References m_timestamp.

◆ IncrementRetry()

void ns3::Reservation::IncrementRetry ( )

Increment the retry count.

Definition at line 139 of file uan-mac-rc.cc.

References m_retryNo.

◆ IsTransmitted()

bool ns3::Reservation::IsTransmitted ( ) const
Returns
True if reservation packets have been transmitted.

Definition at line 121 of file uan-mac-rc.cc.

References m_transmitted.

◆ SetFrameNo()

void ns3::Reservation::SetFrameNo ( uint8_t  fn)

Set the frame number.

Parameters
fnThe frame number.

Definition at line 127 of file uan-mac-rc.cc.

References m_frameNo.

◆ SetTransmitted()

void ns3::Reservation::SetTransmitted ( bool  t = true)

Set the reservation transmitted state.

Parameters
tTrue if reservation has been transmitted.

Definition at line 145 of file uan-mac-rc.cc.

References m_transmitted.

Member Data Documentation

◆ m_frameNo

uint8_t ns3::Reservation::m_frameNo
private

Frame number.

Definition at line 138 of file uan-mac-rc.h.

Referenced by GetFrameNo(), and SetFrameNo().

◆ m_length

uint32_t ns3::Reservation::m_length
private

Total length of queued packets.

Definition at line 136 of file uan-mac-rc.h.

Referenced by Reservation(), and GetLength().

◆ m_pktList

std::list<std::pair<Ptr<Packet>, Mac8Address> > ns3::Reservation::m_pktList
private

Queued packets for each address.

Definition at line 134 of file uan-mac-rc.h.

Referenced by Reservation(), ~Reservation(), GetNoFrames(), and GetPktList().

◆ m_retryNo

uint8_t ns3::Reservation::m_retryNo
private

Number of retries.

Definition at line 142 of file uan-mac-rc.h.

Referenced by GetRetryNo(), and IncrementRetry().

◆ m_timestamp

std::vector<Time> ns3::Reservation::m_timestamp
private

Timestamps for each retry.

Definition at line 140 of file uan-mac-rc.h.

Referenced by ~Reservation(), AddTimestamp(), and GetTimestamp().

◆ m_transmitted

bool ns3::Reservation::m_transmitted
private

Has this reservation been transmitted.

Definition at line 144 of file uan-mac-rc.h.

Referenced by IsTransmitted(), and SetTransmitted().


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