LteMacQueue.h Source File

Simu5G: LteMacQueue.h Source File
Simu5G
LteMacQueue.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_LTEMACQUEUE_H_
14#define _LTE_LTEMACQUEUE_H_
15
16#include <inet/common/packet/Packet.h>
17
18#include "simu5g/common/LteDefs.h"
19#include "simu5g/stack/rlc/packet/LteRlcPdu_m.h"
20
21namespace simu5g {
22
23using namespace omnetpp;
24
40class LteMacQueue : public cPacketQueue
41{
42 public:
43
48 LteMacQueue(int queueSize);
49
50
54 LteMacQueue(const LteMacQueue& queue);
55 LteMacQueue& operator=(const LteMacQueue& queue);
56 LteMacQueue *dup() const override;
57
67 virtual bool pushBack(cPacket *pkt);
68
77 virtual bool pushFront(cPacket *pkt);
78
86 virtual cPacket *popFront();
87
95 virtual cPacket *popBack();
96
103 virtual int64_t getQueueOccupancy() const;
104
111 int64_t getQueueSize() const;
112
119 int getQueueLength() const;
120
127 virtual simtime_t getHolTimestamp() const;
128
129 friend std::ostream& operator<<(std::ostream& stream, const LteMacQueue *queue);
130
131 protected:
136 virtual bool isEnqueueablePacket(inet::Packet *pkt);
137
138 private:
140 int queueSize_;
141};
142
143} //namespace
144
145#endif
146
virtual int64_t getQueueOccupancy() const
int64_t getQueueSize() const
LteMacQueue(const LteMacQueue &queue)
virtual cPacket * popFront()
virtual simtime_t getHolTimestamp() const
LteMacQueue(int queueSize)
virtual cPacket * popBack()
virtual bool pushFront(cPacket *pkt)
virtual bool pushBack(cPacket *pkt)
virtual bool isEnqueueablePacket(inet::Packet *pkt)
int getQueueLength() const
Definition AlertReceiver.h:24