User Manual, Developers Guide and API Documentation

wns::scheduler::harq::HARQ Class Reference

HARQ is the instance collaborating with the scheduler. Contains a collection of HARQEntity's inside; one for each peer.

#include <scheduler/harq/HARQ.hpp>

Inheritance diagram for wns::scheduler::harq::HARQ:

Inheritance graph
[legend]
Collaboration diagram for wns::scheduler::harq::HARQ:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual
HARQInterface::DecodeStatusContainer 
decode ()
 Decode all received data. SchedulingTimeSlotPtr will carry a flag indicating the decode status.
virtual
wns::scheduler::SchedulingTimeSlotPtr 
getNextRetransmission (wns::scheduler::UserID user, int processID)
 Returns the next HARQ Retransmission block and removes it from the pending retransmission list.
int getNumberOfPeerRetransmissions (wns::scheduler::UserID peer, int processID) const
 Return the number of retransmissions that are pending for a peer Intended for uplink master scheduling.
virtual int getNumberOfRetransmissions (wns::scheduler::UserID, int processID)
 Returns number of retransmissions to schedule for going out.
std::list< intgetPeerProcessesWithRetransmissions (wns::scheduler::UserID peer) const
virtual wns::scheduler::UserSet getPeersWithPendingRetransmissions () const
 Returns the peers that have pending retransmissions Intended for uplink master scheduling.
std::list< intgetProcessesWithRetransmissions (wns::scheduler::UserID peer) const
virtual wns::scheduler::UserSet getUsersWithRetransmissions () const
 HARQ (const wns::pyconfig::View &)
virtual bool hasFreeReceiverProcess (wns::scheduler::UserID peer)
virtual bool hasFreeSenderProcess (wns::scheduler::UserID peer)
virtual void onTimeSlotReceived (const wns::scheduler::SchedulingTimeSlotPtr &, HARQInterface::TimeSlotInfo)
 Store a received SchedulingTimeSlotPtr and its measurement.
virtual
wns::scheduler::SchedulingTimeSlotPtr 
peekNextRetransmission (wns::scheduler::UserID user, int processID) const
 Returns the next HARQ Retransmission block, but keeps it in the pending retransmission list.
void schedulePeerRetransmissions (wns::scheduler::UserID peer, int processID)
virtual void sendPendingFeedback ()
 Send HARQ feedback that was delayed. Especially needed for TDD. Triggered by TimingScheduler via ResourceScheduler.
virtual void setDownlinkHARQ (HARQInterface *downlinkHARQ)
 Set a downlink HARQ. Probably only applicable in uplink master schedulers.
virtual void storeSchedulingTimeSlot (long int transportBlockID, const wns::scheduler::SchedulingTimeSlotPtr &)
 Called by the scheduler after the scheduling step has finished.
virtual ~HARQ ()

Private Types

typedef
wns::container::Registry
< wns::scheduler::UserID,
HARQEntity * > 
HARQEntityContainer

Private Member Functions

HARQEntityfindEntity (wns::scheduler::UserID userID)

Private Attributes

HARQEntityContainer harqEntities_
 Contains a collection of HARQEntity's inside; one for each peer.
HARQEntityharqEntityPrototype_
wns::logger::Logger logger_
int numReceiverProcesses_
 Defines maximum number of Receiver Processes. Must be equal? numSenderProcesses==numReceiverProcesses ?
wns::probe::bus::ContextCollector numRetransmissionsProbeCC
int numRVs_
 RV = redundancy version; Defines maximum here.
int numSenderProcesses_
 Defines maximum number of Sender Processes.
int retransmissionLimit_


Detailed Description

Definition at line 364 of file HARQ.hpp.


Member Typedef Documentation

Definition at line 456 of file HARQ.hpp.


Constructor & Destructor Documentation

HARQ::HARQ ( const wns::pyconfig::View config  ) 

Definition at line 193 of file HARQ.cpp.

HARQ::~HARQ (  )  [virtual]

Definition at line 204 of file HARQ.cpp.


Member Function Documentation

HARQInterface::DecodeStatusContainer HARQ::decode (  )  [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 307 of file HARQ.cpp.

HARQEntity * HARQ::findEntity ( wns::scheduler::UserID  userID  )  [private]

Definition at line 209 of file HARQ.cpp.

wns::scheduler::SchedulingTimeSlotPtr HARQ::getNextRetransmission ( wns::scheduler::UserID  user,
int  processID 
) [virtual]

No matter which size [bits]. No matter which PhyMode. The order is defined internally (FCFS).

Implements wns::scheduler::harq::HARQInterface.

Definition at line 372 of file HARQ.cpp.

int HARQ::getNumberOfPeerRetransmissions ( wns::scheduler::UserID  peer,
int  processID 
) const [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 450 of file HARQ.cpp.

int HARQ::getNumberOfRetransmissions ( wns::scheduler::UserID  user,
int  processID 
) [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 364 of file HARQ.cpp.

std::list< int > HARQ::getPeerProcessesWithRetransmissions ( wns::scheduler::UserID  peer  )  const [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 436 of file HARQ.cpp.

wns::scheduler::UserSet HARQ::getPeersWithPendingRetransmissions (  )  const [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 419 of file HARQ.cpp.

std::list< int > HARQ::getProcessesWithRetransmissions ( wns::scheduler::UserID  peer  )  const [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 350 of file HARQ.cpp.

wns::scheduler::UserSet HARQ::getUsersWithRetransmissions (  )  const [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 333 of file HARQ.cpp.

bool HARQ::hasFreeReceiverProcess ( wns::scheduler::UserID  peer  )  [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 471 of file HARQ.cpp.

bool HARQ::hasFreeSenderProcess ( wns::scheduler::UserID  peer  )  [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 461 of file HARQ.cpp.

void HARQ::onTimeSlotReceived ( const wns::scheduler::SchedulingTimeSlotPtr resourceBlock,
HARQInterface::TimeSlotInfo  info 
) [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 283 of file HARQ.cpp.

wns::scheduler::SchedulingTimeSlotPtr HARQ::peekNextRetransmission ( wns::scheduler::UserID  user,
int  processID 
) const [virtual]

No matter which size [bits]. No matter which PhyMode. The order is defined internally (FCFS).

Implements wns::scheduler::harq::HARQInterface.

Definition at line 396 of file HARQ.cpp.

void HARQ::schedulePeerRetransmissions ( wns::scheduler::UserID  peer,
int  processID 
) [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 481 of file HARQ.cpp.

void HARQ::sendPendingFeedback (  )  [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 490 of file HARQ.cpp.

void HARQ::setDownlinkHARQ ( HARQInterface downlinkHARQ  )  [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 413 of file HARQ.cpp.

void HARQ::storeSchedulingTimeSlot ( long int  transportBlockID,
const wns::scheduler::SchedulingTimeSlotPtr resourceBlock 
) [virtual]

Implements wns::scheduler::harq::HARQInterface.

Definition at line 224 of file HARQ.cpp.


Member Data Documentation

Definition at line 461 of file HARQ.hpp.

Definition at line 481 of file HARQ.hpp.

Definition at line 454 of file HARQ.hpp.

Definition at line 472 of file HARQ.hpp.

Definition at line 483 of file HARQ.hpp.

Definition at line 477 of file HARQ.hpp.

Definition at line 466 of file HARQ.hpp.

Definition at line 479 of file HARQ.hpp.


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

Generated on Sun May 27 03:33:03 2012 for openWNS by  doxygen 1.5.5