LteHarqBufferRxD2D.h Source File

Simu5G: LteHarqBufferRxD2D.h Source File
Simu5G
LteHarqBufferRxD2D.h
1//
2// Simu5G
3//
4// Copyright (C) 2012-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa)
5// Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa)
6//
7// This file is part of a software released under the license included in file
8// "license.pdf". Please read LICENSE and README files before using it.
9// The above files and the present reference are part of the software itself,
10// and cannot be removed from it.
11//
12
13#ifndef _LTE_LTEHARQBUFFERRXD2D_H_
14#define _LTE_LTEHARQBUFFERRXD2D_H_
15
16#include <inet/common/packet/Packet.h>
17
18#include "simu5g/stack/mac/buffer/harq/LteHarqBufferRx.h"
19#include "simu5g/stack/d2d/mac/harq/LteHarqProcessRxD2D.h"
20
21namespace simu5g {
22
24
35class LteHarqBufferRxD2D : public LteHarqBufferRx
36{
37 protected:
38
39 // D2D Statistics
40 inet::simsignal_t macDelayD2D_ = SIMSIGNAL_NULL;
41 inet::simsignal_t macThroughputD2D_ = SIMSIGNAL_NULL;
42
47 void sendFeedback() override;
48
49 public:
50 LteHarqBufferRxD2D(unsigned int num, LteMacBase *owner, Binder *binder, MacNodeId srcId, bool isMulticast = false);
51
52 /*
53 * Insertion of a new PDU coming from PHY layer into
54 * RX H-ARQ buffer.
55 *
56 * @param pdu to be inserted
57 */
58 void insertPdu(Codeword cw, inet::Packet *pdu) override;
59
66 std::list<inet::Packet *> extractCorrectPdus() override;
67
68};
69
70} //namespace
71
72#endif
73
Definition Binder.h:48
std::list< inet::Packet * > extractCorrectPdus() override
void sendFeedback() override
void insertPdu(Codeword cw, inet::Packet *pdu) override
Definition LteHarqProcessRxD2D.h:31
MAC Layer.
Definition LteMacBase.h:80
Definition AlertReceiver.h:24
unsigned short Codeword
Codeword.
Definition LteCommon.h:202