Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(906)

Unified Diff: src/devices/lte/ue-record.h

Issue 1866042: LTE module - Giuseppe Piro
Patch Set: LTE module Created 13 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/devices/lte/ue-record.h
===================================================================
new file mode 100755
--- /dev/null
+++ b/src/devices/lte/ue-record.h
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Giuseppe Piro <g.piro@poliba.it>
+ */
+
+#ifndef UE_RECORD_H_
+#define UE_RECORD_H_
+
+#include "ns3/net-device.h"
+#include "ns3/object.h"
+#include "ns3/log.h"
+#include <vector>
+#include <stdint.h>
+
+namespace ns3 {
+
+/**
+ * \brief The UeRecord class is developerd in order to store at the eNodeB
+ * all information (such as feedback cqi, mac address etc...) of a UE registered
+ * into that eNodeB. All UE records are managed by the UeManager class
+ */
+
+class UeRecord : public Object
+{
+public:
+ UeRecord ();
+ ~UeRecord ();
+
+ /**
+ * CqiFeedbacks represents a list of CQI feedbacks
+ * sent by the UE. The downlink packet scheduler of
+ * the eNB uses these values to assign accordingly
+ * radio resources.
+ */
+ struct CqiFeedback
+ {
+ int m_subChannelId;
+ int m_cqi;
+ };
+ typedef std::vector<struct CqiFeedback> CqiFeedbacks;
+
+
+
+ /**
+ * \brief Creates a ue record of the UE registered into the eNB
+ * \param ue the pointer of the ue device
+ * \param enb the pointer of the enb device
+ */
+ UeRecord (Ptr<NetDevice> ue, Ptr<NetDevice> enb);
+
+ /**
+ * \brief Set the UE of the record
+ * \param ue the pointer of the ue device
+ */
+ void SetUe (Ptr<NetDevice> ue);
+
+ /**
+ * \brief Get the UE of the record
+ * \returns the pointer of the UE
+ */
+ Ptr<NetDevice> GetUe (void);
+
+ /**
+ * \brief Set the eNB of the record
+ * \param enb the pointer of the enb device
+ */
+ void SetEnb (Ptr<NetDevice> enb);
+
+ /**
+ * \brief Get the eNB of the record
+ * \returns the pointer of the eNB
+ */
+ Ptr<NetDevice> GetEnb (void);
+
+
+ /**
+ * \brief Set CQI feedbacks of the registered UE
+ * \param cqiFeedbacks a list of CQI feedback
+ */
+ void SetCqiFeedbacks (CqiFeedbacks cqiFeedbacks);
+
+ /**
+ * \brief Get CQI feedbacks of the registered UE
+ * \returns a list of CQI feedback
+ */
+ CqiFeedbacks GetCqiFeedbacks (void);
+
+
+private:
+ Ptr<NetDevice> m_ue;
+ Ptr<NetDevice> m_enb;
+
+ CqiFeedbacks m_cqiFeedbacks;
+};
+
+}
+; // namespace ns3
+
+#endif /* UE_RECORD_H_ */

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b