Commit 46e27000 authored by Ben Wojtowicz's avatar Ben Wojtowicz

Version 0.19.1: Added support for all ID types for the mobile identity IE in...

Version 0.19.1: Added support for all ID types for the mobile identity IE in MME, added support for more PDU types in PDCP, added defines for sizes of fixed arrays in LIBLTE_PHY_STRUCT, fixed the order of sizes for rate match and unmatch arrays in LIBLTE_PHY_STRUCT (thanks to Ziming He), added return values for liblte_phy_get_n_cce (thanks to Damian Jarek) and liblte_rlc_unpack_status_pdu (thanks to Mikhail Gudkov) in the LTE library, added a scoped lock RAII class for sem_t and pthread_mutex_t in the tools library, changed from using boost::mutex to pthread_mutex_t and_sem_t throughout, added helper functions in MAC, changed user deletion and C-RNTI release procedures, properly initializing SIB scheduling info, properly construct MNC (thanks to Mikhail Gudkov), fixed an issue with RTS response in MAC, properly initialized PHY allocation structure in MAC (thanks to Markus Grab), fixed the updating of VT(A) in the RLC retransmission buffer, and changed the QoS parameters for default data in LTE_fdd_enodeb.
parent 7032f8cc
File mode changed from 100644 to 100755
......@@ -23,7 +23,7 @@
########################################################################
cmake_minimum_required(VERSION 2.6)
project(openLTE CXX C)
set(openLTE_version 0.19.0)
set(openLTE_version 0.19.1)
enable_testing()
#select the release build type by default to get optimization flags
......
File mode changed from 100644 to 100755
......@@ -195,3 +195,18 @@ v00.19.00 Removed rb_id from all MME pack routines (thanks to Przemek for fi
changed the default timer alignment timer to 10240 subframes, removed
boost::lexical_casts from HSS, moved the dedicated bearer QoS to 9, and
moved DRBs to RLC AMD mode in LTE_fdd_enodeb.
v00.19.01 Added support for all ID types for the mobile identity IE in MME, added
support for more PDU types in PDCP, added defines for sizes of fixed
arrays in LIBLTE_PHY_STRUCT, fixed the order of sizes for rate match
and unmatch arrays in LIBLTE_PHY_STRUCT (thanks to Ziming He), added
return values for liblte_phy_get_n_cce (thanks to Damian Jarek) and
liblte_rlc_unpack_status_pdu (thanks to Mikhail Gudkov) in the LTE
library, added a scoped lock RAII class for sem_t and pthread_mutex_t
in the tools library, changed from using boost::mutex to pthread_mutex_t
and_sem_t throughout, added helper functions in MAC, changed user
deletion and C-RNTI release procedures, properly initializing SIB
scheduling info, properly construct MNC (thanks to Mikhail Gudkov),
fixed an issue with RTS response in MAC, properly initialized PHY
allocation structure in MAC (thanks to Markus Grab), fixed the updating
of VT(A) in the RLC retransmission buffer, and changed the QoS parameters
for default data in LTE_fdd_enodeb.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -34,6 +34,7 @@
12/16/2014 Ben Wojtowicz Pulled in a patch from Ruben Merz to add
USRP X300 support.
03/11/2015 Ben Wojtowicz Added UmTRX support.
12/06/2015 Ben Wojtowicz Changed boost::mutex to pthread_mutex_t.
*******************************************************************************/
......@@ -46,7 +47,6 @@
#include "LTE_fdd_dl_scan_interface.h"
#include "LTE_fdd_dl_scan_state_machine.h"
#include <boost/thread/mutex.hpp>
#include <gnuradio/top_block.h>
#include <gnuradio/filter/rational_resampler_base_ccf.h>
#include <gnuradio/filter/firdes.h>
......@@ -110,9 +110,9 @@ private:
osmosdr::source::sptr samp_src;
LTE_fdd_dl_scan_state_machine_sptr state_machine;
pthread_t start_thread;
boost::mutex start_mutex;
bool started;
pthread_t start_thread;
pthread_mutex_t start_mutex;
bool started;
};
#endif /* __LTE_FDD_DL_SCAN_FLOWGRAPH_H__ */
/*******************************************************************************
Copyright 2013-2014 Ben Wojtowicz
Copyright 2013-2015 Ben Wojtowicz
Copyright 2014 Andrew Murphy (SIB13 printing)
This program is free software: you can redistribute it and/or modify
......@@ -29,6 +29,7 @@
07/21/2013 Ben Wojtowicz Added support for decoding SIBs.
06/15/2014 Ben Wojtowicz Added PCAP support.
09/19/2014 Andrew Murphy Added SIB13 printing.
12/06/2015 Ben Wojtowicz Changed boost::mutex to pthread_mutex_t.
*******************************************************************************/
......@@ -42,7 +43,6 @@
#include "liblte_interface.h"
#include "liblte_rrc.h"
#include "libtools_socket_wrap.h"
#include <boost/thread/mutex.hpp>
#include <string>
/*******************************************************************************
......@@ -106,7 +106,7 @@ public:
static void handle_ctrl_connect(void);
static void handle_ctrl_disconnect(void);
static void handle_ctrl_error(LIBTOOLS_SOCKET_WRAP_ERROR_ENUM err);
boost::mutex ctrl_mutex;
pthread_mutex_t ctrl_mutex;
FILE *pcap_fd;
libtools_socket_wrap *ctrl_socket;
int16 ctrl_port;
......@@ -142,7 +142,7 @@ private:
void write_enable_pcap(std::string enable_pcap_str);
// Variables
boost::mutex dl_earfcn_list_mutex;
pthread_mutex_t dl_earfcn_list_mutex;
LIBLTE_INTERFACE_BAND_ENUM band;
uint16 current_dl_earfcn;
uint16 dl_earfcn_list[65535];
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -37,6 +37,7 @@
12/16/2014 Ben Wojtowicz Pulled in a patch from Ruben Merz to add
USRP X300 support.
03/11/2015 Ben Wojtowicz Added UmTRX support.
12/06/2015 Ben Wojtowicz Changed boost::mutex to pthread_mutex_t.
*******************************************************************************/
......@@ -45,6 +46,7 @@
*******************************************************************************/
#include "LTE_fdd_dl_scan_flowgraph.h"
#include "libtools_scoped_lock.h"
#include "uhd/usrp/multi_usrp.hpp"
/*******************************************************************************
......@@ -62,7 +64,7 @@
*******************************************************************************/
LTE_fdd_dl_scan_flowgraph* LTE_fdd_dl_scan_flowgraph::instance = NULL;
boost::mutex flowgraph_instance_mutex;
static pthread_mutex_t flowgraph_instance_mutex = PTHREAD_MUTEX_INITIALIZER;
/*******************************************************************************
CLASS IMPLEMENTATIONS
......@@ -71,7 +73,7 @@ boost::mutex flowgraph_instance_mutex;
// Singleton
LTE_fdd_dl_scan_flowgraph* LTE_fdd_dl_scan_flowgraph::get_instance(void)
{
boost::mutex::scoped_lock lock(flowgraph_instance_mutex);
libtools_scoped_lock lock(flowgraph_instance_mutex);
if(NULL == instance)
{
......@@ -82,7 +84,7 @@ LTE_fdd_dl_scan_flowgraph* LTE_fdd_dl_scan_flowgraph::get_instance(void)
}
void LTE_fdd_dl_scan_flowgraph::cleanup(void)
{
boost::mutex::scoped_lock lock(flowgraph_instance_mutex);
libtools_scoped_lock lock(flowgraph_instance_mutex);
if(NULL != instance)
{
......@@ -94,29 +96,31 @@ void LTE_fdd_dl_scan_flowgraph::cleanup(void)
// Constructor/Destructor
LTE_fdd_dl_scan_flowgraph::LTE_fdd_dl_scan_flowgraph()
{
pthread_mutex_init(&start_mutex, NULL);
started = false;
}
LTE_fdd_dl_scan_flowgraph::~LTE_fdd_dl_scan_flowgraph()
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
if(started)
{
start_mutex.unlock();
pthread_mutex_unlock(&start_mutex);
stop();
}
pthread_mutex_destroy(&start_mutex);
}
// Flowgraph
bool LTE_fdd_dl_scan_flowgraph::is_started(void)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
return(started);
}
LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::start(uint16 dl_earfcn)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
LTE_fdd_dl_scan_interface *interface = LTE_fdd_dl_scan_interface::get_instance();
uhd::device_addr_t hint;
LTE_FDD_DL_SCAN_STATUS_ENUM err = LTE_FDD_DL_SCAN_STATUS_FAIL;
......@@ -324,13 +328,13 @@ LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::start(uint16 dl_earfcn)
}
LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::stop(void)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
LTE_FDD_DL_SCAN_STATUS_ENUM err = LTE_FDD_DL_SCAN_STATUS_FAIL;
if(started)
{
started = false;
start_mutex.unlock();
pthread_mutex_unlock(&start_mutex);
sleep(1); // Wait for state_machine to exit
pthread_cancel(start_thread);
pthread_join(start_thread, NULL);
......@@ -342,7 +346,7 @@ LTE_FDD_DL_SCAN_STATUS_ENUM LTE_fdd_dl_scan_flowgraph::stop(void)
}
void LTE_fdd_dl_scan_flowgraph::update_center_freq(uint16 dl_earfcn)
{
boost::mutex::scoped_lock lock(start_mutex);
libtools_scoped_lock lock(start_mutex);
if(started &&
NULL != samp_src.get())
......
This diff is collapsed.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -27,6 +27,7 @@
11/29/2014 Ben Wojtowicz Created file
12/16/2014 Ben Wojtowicz Added ol extension to message queue.
02/15/2015 Ben Wojtowicz Moved to new message queue.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -79,7 +80,7 @@ private:
// Start/Stop
LTE_fdd_enb_interface *interface;
boost::mutex start_mutex;
sem_t start_sem;
bool started;
// Communication
......
/*******************************************************************************
Copyright 2014 Ben Wojtowicz
Copyright 2014-2015 Ben Wojtowicz
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
......@@ -30,6 +30,7 @@
11/01/2014 Ben Wojtowicz Added user file support.
11/29/2014 Ben Wojtowicz Added support for regenerating eNodeB
security data.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -120,7 +121,7 @@ private:
~LTE_fdd_enb_hss();
// Allowed users
boost::mutex user_mutex;
sem_t user_sem;
std::list<LTE_FDD_ENB_HSS_USER_STRUCT *> user_list;
// User File
......
......@@ -45,6 +45,7 @@
03/11/2015 Ben Wojtowicz Made a common routine for formatting time.
07/25/2015 Ben Wojtowicz Made tx_gain and rx_gain into config file
tracked parameters.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -59,7 +60,6 @@
#include "LTE_fdd_enb_msgq.h"
#include "liblte_common.h"
#include "libtools_socket_wrap.h"
#include <boost/thread/mutex.hpp>
#include <string>
/*******************************************************************************
......@@ -284,8 +284,8 @@ public:
static void handle_debug_connect(void);
static void handle_debug_disconnect(void);
static void handle_debug_error(LIBTOOLS_SOCKET_WRAP_ERROR_ENUM err);
boost::mutex ctrl_mutex;
boost::mutex debug_mutex;
sem_t ctrl_sem;
sem_t debug_sem;
FILE *lte_pcap_fd;
FILE *ip_pcap_fd;
libtools_socket_wrap *ctrl_socket;
......@@ -319,7 +319,7 @@ private:
// Variables
std::map<std::string, LTE_FDD_ENB_VAR_STRUCT> var_map;
boost::mutex start_mutex;
sem_t start_sem;
uint32 debug_type_mask;
uint32 debug_level_mask;
bool shutdown;
......
......@@ -32,6 +32,8 @@
11/29/2014 Ben Wojtowicz Using the byte message struct for SDUs.
12/16/2014 Ben Wojtowicz Added ol extension to message queues.
02/15/2015 Ben Wojtowicz Moved to new message queue.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t and added some
helper functions.
*******************************************************************************/
......@@ -47,7 +49,6 @@
#include "LTE_fdd_enb_msgq.h"
#include "LTE_fdd_enb_user.h"
#include "liblte_mac.h"
#include <boost/thread/mutex.hpp>
#include <boost/interprocess/ipc/message_queue.hpp>
#include <list>
......@@ -109,7 +110,7 @@ private:
~LTE_fdd_enb_mac();
// Start/Stop
boost::mutex start_mutex;
sem_t start_sem;
LTE_fdd_enb_interface *interface;
bool started;
......@@ -149,9 +150,9 @@ private:
LTE_FDD_ENB_ERROR_ENUM add_to_rar_sched_queue(uint32 current_tti, LIBLTE_PHY_ALLOCATION_STRUCT *dl_alloc, LIBLTE_PHY_ALLOCATION_STRUCT *ul_alloc, LIBLTE_MAC_RAR_STRUCT *rar);
LTE_FDD_ENB_ERROR_ENUM add_to_dl_sched_queue(uint32 current_tti, LIBLTE_MAC_PDU_STRUCT *mac_pdu, LIBLTE_PHY_ALLOCATION_STRUCT *alloc);
LTE_FDD_ENB_ERROR_ENUM add_to_ul_sched_queue(uint32 current_tti, LIBLTE_PHY_ALLOCATION_STRUCT *alloc);
boost::mutex rar_sched_queue_mutex;
boost::mutex dl_sched_queue_mutex;
boost::mutex ul_sched_queue_mutex;
sem_t rar_sched_queue_sem;
sem_t dl_sched_queue_sem;
sem_t ul_sched_queue_sem;
std::list<LTE_FDD_ENB_RAR_SCHED_QUEUE_STRUCT*> rar_sched_queue;
std::list<LTE_FDD_ENB_DL_SCHED_QUEUE_STRUCT*> dl_sched_queue;
std::list<LTE_FDD_ENB_UL_SCHED_QUEUE_STRUCT*> ul_sched_queue;
......@@ -161,11 +162,13 @@ private:
uint8 sched_cur_ul_subfn;
// Parameters
boost::mutex sys_info_mutex;
sem_t sys_info_sem;
LTE_FDD_ENB_SYS_INFO_STRUCT sys_info;
// Helpers
uint32 get_n_reserved_prbs(uint32 current_tti);
uint32 add_to_tti(uint32 tti, uint32 addition);
bool is_tti_in_future(uint32 tti_to_check, uint32 current_tti);
};
#endif /* __LTE_FDD_ENB_MAC_H__ */
......@@ -39,6 +39,7 @@
sending of EMM information message.
02/15/2015 Ben Wojtowicz Moved to new message queue.
03/11/2015 Ben Wojtowicz Added detach handling.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -52,7 +53,6 @@
#include "LTE_fdd_enb_cnfg_db.h"
#include "LTE_fdd_enb_msgq.h"
#include <boost/interprocess/ipc/message_queue.hpp>
#include <boost/thread/mutex.hpp>
/*******************************************************************************
DEFINES
......@@ -95,7 +95,7 @@ private:
// Start/Stop
LTE_fdd_enb_interface *interface;
boost::mutex start_mutex;
sem_t start_sem;
bool started;
// Communication
......@@ -141,7 +141,7 @@ private:
void send_rrc_command(LTE_fdd_enb_user *user, LTE_fdd_enb_rb *rb, LTE_FDD_ENB_RRC_CMD_ENUM cmd);
// Parameters
boost::mutex sys_info_mutex;
sem_t sys_info_sem;
LTE_FDD_ENB_SYS_INFO_STRUCT sys_info;
// Helpers
......
......@@ -40,6 +40,9 @@
03/15/2015 Ben Wojtowicz Added a mutex to the circular buffer.
07/25/2015 Ben Wojtowicz Combined the DL and UL schedule messages into
a single PHY schedule message.
12/06/2015 Ben Wojtowicz Changed boost::mutex and
boost::interprocess::interprocess_semaphore
to sem_t.
*******************************************************************************/
......@@ -53,7 +56,6 @@
#include "LTE_fdd_enb_user.h"
#include "liblte_rrc.h"
#include "liblte_phy.h"
#include <boost/interprocess/sync/interprocess_semaphore.hpp>
#include <boost/circular_buffer.hpp>
#include <string>
......@@ -400,8 +402,8 @@ private:
// Variables
LTE_fdd_enb_msgq_cb callback;
boost::mutex mutex;
boost::interprocess::interprocess_semaphore *sema;
sem_t sync_sem;
sem_t msg_sem;
boost::circular_buffer<LTE_FDD_ENB_MESSAGE_STRUCT> *circ_buf;
std::string msgq_name;
pthread_t rx_thread;
......
......@@ -29,6 +29,7 @@
11/29/2014 Ben Wojtowicz Added communication to IP gateway.
12/16/2014 Ben Wojtowicz Added ol extension to message queues.
02/15/2015 Ben Wojtowicz Moved to new message queue.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -41,7 +42,6 @@
#include "LTE_fdd_enb_cnfg_db.h"
#include "LTE_fdd_enb_msgq.h"
#include <boost/thread/mutex.hpp>
#include <boost/interprocess/ipc/message_queue.hpp>
/*******************************************************************************
......@@ -85,7 +85,7 @@ private:
// Start/Stop
LTE_fdd_enb_interface *interface;
boost::mutex start_mutex;
sem_t start_sem;
bool started;
// Communication
......@@ -109,7 +109,7 @@ private:
void handle_data_sdu_ready(LTE_FDD_ENB_PDCP_DATA_SDU_READY_MSG_STRUCT *data_sdu_ready);
// Parameters
boost::mutex sys_info_mutex;
sem_t sys_info_sem;
LTE_FDD_ENB_SYS_INFO_STRUCT sys_info;
};
......
......@@ -33,6 +33,7 @@
02/15/2015 Ben Wojtowicz Moved to new message queue.
07/25/2015 Ben Wojtowicz Combined the DL and UL schedule messages into
a single PHY schedule message.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -48,7 +49,6 @@
#include "LTE_fdd_enb_msgq.h"
#include "LTE_fdd_enb_radio.h"
#include "liblte_phy.h"
#include <boost/thread/mutex.hpp>
/*******************************************************************************
DEFINES
......@@ -110,9 +110,9 @@ private:
// Downlink
void handle_phy_schedule(LTE_FDD_ENB_PHY_SCHEDULE_MSG_STRUCT *phy_sched);
void process_dl(LTE_FDD_ENB_RADIO_TX_BUF_STRUCT *tx_buf);
boost::mutex sys_info_mutex;
boost::mutex dl_sched_mutex;
boost::mutex ul_sched_mutex;
sem_t sys_info_sem;
sem_t dl_sched_sem;
sem_t ul_sched_sem;
LTE_FDD_ENB_SYS_INFO_STRUCT sys_info;
LTE_FDD_ENB_DL_SCHEDULE_MSG_STRUCT dl_schedule[10];
LTE_FDD_ENB_UL_SCHEDULE_MSG_STRUCT ul_schedule[10];
......
......@@ -32,6 +32,7 @@
parameter.
07/25/2015 Ben Wojtowicz Added parameters to abstract PHY sample rate
from radio sample rate.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -46,7 +47,6 @@
#include "liblte_phy.h"
#include <gnuradio/gr_complex.h>
#include <uhd/usrp/multi_usrp.hpp>
#include <boost/thread/mutex.hpp>
/*******************************************************************************
DEFINES
......@@ -124,8 +124,8 @@ private:
~LTE_fdd_enb_radio();
// Start/Stop
boost::mutex start_mutex;
bool started;
sem_t start_sem;
bool started;
// Radios
uhd::usrp::multi_usrp::sptr usrp;
......
......@@ -45,6 +45,7 @@
03/11/2015 Ben Wojtowicz Added detach handling.
07/25/2015 Ben Wojtowicz Moved QoS structure to the user class and
fixed RLC AM TX and RX buffers.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -59,7 +60,8 @@
#include "liblte_rlc.h"
#include "liblte_rrc.h"
#include <list>
#include <boost/thread/mutex.hpp>
#include <map>
#include <semaphore.h>
/*******************************************************************************
DEFINES
......@@ -310,18 +312,18 @@ private:
LTE_fdd_enb_user *user;
// GW
boost::mutex gw_data_msg_queue_mutex;
sem_t gw_data_msg_queue_sem;
std::list<LIBLTE_BYTE_MSG_STRUCT *> gw_data_msg_queue;
// MME
boost::mutex mme_nas_msg_queue_mutex;
sem_t mme_nas_msg_queue_sem;
std::list<LIBLTE_BYTE_MSG_STRUCT *> mme_nas_msg_queue;
LTE_FDD_ENB_MME_PROC_ENUM mme_procedure;
LTE_FDD_ENB_MME_STATE_ENUM mme_state;
// RRC
boost::mutex rrc_pdu_queue_mutex;
boost::mutex rrc_nas_msg_queue_mutex;
sem_t rrc_pdu_queue_sem;
sem_t rrc_nas_msg_queue_sem;
std::list<LIBLTE_BIT_MSG_STRUCT *> rrc_pdu_queue;
std::list<LIBLTE_BYTE_MSG_STRUCT *> rrc_nas_msg_queue;
LTE_FDD_ENB_RRC_PROC_ENUM rrc_procedure;
......@@ -329,9 +331,9 @@ private:
uint8 rrc_transaction_id;
// PDCP
boost::mutex pdcp_pdu_queue_mutex;
boost::mutex pdcp_sdu_queue_mutex;
boost::mutex pdcp_data_sdu_queue_mutex;
sem_t pdcp_pdu_queue_sem;
sem_t pdcp_sdu_queue_sem;
sem_t pdcp_data_sdu_queue_sem;
std::list<LIBLTE_BYTE_MSG_STRUCT *> pdcp_pdu_queue;
std::list<LIBLTE_BIT_MSG_STRUCT *> pdcp_sdu_queue;
std::list<LIBLTE_BYTE_MSG_STRUCT *> pdcp_data_sdu_queue;
......@@ -340,14 +342,15 @@ private:
uint32 pdcp_tx_count;
// RLC
boost::mutex rlc_pdu_queue_mutex;
boost::mutex rlc_sdu_queue_mutex;
sem_t rlc_pdu_queue_sem;
sem_t rlc_sdu_queue_sem;
std::list<LIBLTE_BYTE_MSG_STRUCT *> rlc_pdu_queue;
std::list<LIBLTE_BYTE_MSG_STRUCT *> rlc_sdu_queue;
std::map<uint16, LIBLTE_RLC_AMD_PDU_STRUCT *> rlc_am_reception_buffer;
std::map<uint16, LIBLTE_RLC_AMD_PDU_STRUCT *> rlc_am_transmission_buffer;
std::map<uint16, LIBLTE_BYTE_MSG_STRUCT *> rlc_um_reception_buffer;
LTE_FDD_ENB_RLC_CONFIG_ENUM rlc_config;
uint32 t_poll_retransmit_timer_id;
uint16 rlc_vrr;
uint16 rlc_vrmr;
uint16 rlc_vrh;
......@@ -362,12 +365,11 @@ private:
uint16 rlc_vtus;
// MAC
boost::mutex mac_sdu_queue_mutex;
sem_t mac_sdu_queue_sem;
std::list<LIBLTE_BYTE_MSG_STRUCT *> mac_sdu_queue;
LTE_FDD_ENB_MAC_CONFIG_ENUM mac_config;
uint64 mac_con_res_id;
uint32 mac_last_tti;
uint32 t_poll_retransmit_timer_id;
bool mac_send_con_res_id;
// DRB
......@@ -377,12 +379,12 @@ private:
uint8 log_chan_group;
// Generic
void queue_msg(LIBLTE_BIT_MSG_STRUCT *msg, boost::mutex *mutex, std::list<LIBLTE_BIT_MSG_STRUCT *> *queue);
void queue_msg(LIBLTE_BYTE_MSG_STRUCT *msg, boost::mutex *mutex, std::list<LIBLTE_BYTE_MSG_STRUCT *> *queue);
LTE_FDD_ENB_ERROR_ENUM get_next_msg(boost::mutex *mutex, std::list<LIBLTE_BIT_MSG_STRUCT *> *queue, LIBLTE_BIT_MSG_STRUCT **msg);
LTE_FDD_ENB_ERROR_ENUM get_next_msg(boost::mutex *mutex, std::list<LIBLTE_BYTE_MSG_STRUCT *> *queue, LIBLTE_BYTE_MSG_STRUCT **msg);
LTE_FDD_ENB_ERROR_ENUM delete_next_msg(boost::mutex *mutex, std::list<LIBLTE_BIT_MSG_STRUCT *> *queue);
LTE_FDD_ENB_ERROR_ENUM delete_next_msg(boost::mutex *mutex, std::list<LIBLTE_BYTE_MSG_STRUCT *> *queue);
void queue_msg(LIBLTE_BIT_MSG_STRUCT *msg, sem_t *sem, std::list<LIBLTE_BIT_MSG_STRUCT *> *queue);
void queue_msg(LIBLTE_BYTE_MSG_STRUCT *msg, sem_t *sem, std::list<LIBLTE_BYTE_MSG_STRUCT *> *queue);
LTE_FDD_ENB_ERROR_ENUM get_next_msg(sem_t *sem, std::list<LIBLTE_BIT_MSG_STRUCT *> *queue, LIBLTE_BIT_MSG_STRUCT **msg);
LTE_FDD_ENB_ERROR_ENUM get_next_msg(sem_t *sem, std::list<LIBLTE_BYTE_MSG_STRUCT *> *queue, LIBLTE_BYTE_MSG_STRUCT **msg);
LTE_FDD_ENB_ERROR_ENUM delete_next_msg(sem_t *sem, std::list<LIBLTE_BIT_MSG_STRUCT *> *queue);
LTE_FDD_ENB_ERROR_ENUM delete_next_msg(sem_t *sem, std::list<LIBLTE_BYTE_MSG_STRUCT *> *queue);
};
#endif /* __LTE_FDD_ENB_RB_H__ */
......@@ -31,6 +31,7 @@
11/29/2014 Ben Wojtowicz Using the byte message structure.
12/16/2014 Ben Wojtowicz Added ol extension to message queues.
02/15/2015 Ben Wojtowicz Moved to new message queue.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -43,7 +44,6 @@
#include "LTE_fdd_enb_cnfg_db.h"
#include "LTE_fdd_enb_msgq.h"
#include <boost/thread/mutex.hpp>
#include <boost/interprocess/ipc/message_queue.hpp>
/*******************************************************************************
......@@ -88,7 +88,7 @@ private:
// Start/Stop
LTE_fdd_enb_interface *interface;
boost::mutex start_mutex;
sem_t start_sem;
bool started;
// Communication
......@@ -117,7 +117,7 @@ private:
void send_amd_pdu(LIBLTE_RLC_AMD_PDU_STRUCT *amd, LTE_fdd_enb_user *user, LTE_fdd_enb_rb *rb);
// Parameters
boost::mutex sys_info_mutex;
sem_t sys_info_sem;
LTE_FDD_ENB_SYS_INFO_STRUCT sys_info;
};
......
......@@ -37,6 +37,7 @@
parse_ul_ccch_message.
12/16/2014 Ben Wojtowicz Added ol extension to message queues.
02/15/2015 Ben Wojtowicz Moved to new message queue.
12/06/2015 Ben Wojtowicz Changed boost::mutex to sem_t.
*******************************************************************************/
......@@ -50,7 +51,6 @@
#include "LTE_fdd_enb_cnfg_db.h"
#include "LTE_fdd_enb_user.h"
#include "LTE_fdd_enb_msgq.h"
#include <boost/thread/mutex.hpp>
#include <boost/interprocess/ipc/message_queue.hpp>
/*******************************************************************************
......@@ -94,7 +94,7 @@ private: