![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <scheduler/harq/HARQ.hpp>


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< int > | getPeerProcessesWithRetransmissions (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< int > | getProcessesWithRetransmissions (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 | |
| HARQEntity * | findEntity (wns::scheduler::UserID userID) |
Private Attributes | |
| HARQEntityContainer | harqEntities_ |
| Contains a collection of HARQEntity's inside; one for each peer. | |
| HARQEntity * | harqEntityPrototype_ |
| 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_ |
Definition at line 364 of file HARQ.hpp.
| HARQ::HARQ | ( | const wns::pyconfig::View & | config | ) |
| HARQInterface::DecodeStatusContainer HARQ::decode | ( | ) | [virtual] |
| HARQEntity * HARQ::findEntity | ( | wns::scheduler::UserID | userID | ) | [private] |
| 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.
| int HARQ::getNumberOfPeerRetransmissions | ( | wns::scheduler::UserID | peer, | |
| int | processID | |||
| ) | const [virtual] |
| int HARQ::getNumberOfRetransmissions | ( | wns::scheduler::UserID | user, | |
| int | processID | |||
| ) | [virtual] |
| std::list< int > HARQ::getPeerProcessesWithRetransmissions | ( | wns::scheduler::UserID | peer | ) | const [virtual] |
| wns::scheduler::UserSet HARQ::getPeersWithPendingRetransmissions | ( | ) | const [virtual] |
| std::list< int > HARQ::getProcessesWithRetransmissions | ( | wns::scheduler::UserID | peer | ) | const [virtual] |
| wns::scheduler::UserSet HARQ::getUsersWithRetransmissions | ( | ) | const [virtual] |
| bool HARQ::hasFreeReceiverProcess | ( | wns::scheduler::UserID | peer | ) | [virtual] |
| bool HARQ::hasFreeSenderProcess | ( | wns::scheduler::UserID | peer | ) | [virtual] |
| void HARQ::onTimeSlotReceived | ( | const wns::scheduler::SchedulingTimeSlotPtr & | resourceBlock, | |
| HARQInterface::TimeSlotInfo | info | |||
| ) | [virtual] |
| 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.
| void HARQ::schedulePeerRetransmissions | ( | wns::scheduler::UserID | peer, | |
| int | processID | |||
| ) | [virtual] |
| void HARQ::sendPendingFeedback | ( | ) | [virtual] |
| void HARQ::setDownlinkHARQ | ( | HARQInterface * | downlinkHARQ | ) | [virtual] |
| void HARQ::storeSchedulingTimeSlot | ( | long int | transportBlockID, | |
| const wns::scheduler::SchedulingTimeSlotPtr & | resourceBlock | |||
| ) | [virtual] |
int wns::scheduler::harq::HARQ::numRVs_ [private] |
1.5.5