Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
2019-11-28 11:57:41 +00:00
Francisco Paisana
6746c5dfa5
pass task functor by copy to avoid dangling pointers
2019-11-28 11:57:41 +00:00
Francisco Paisana
b2d3c2a150
fix compilation issue
2019-11-28 11:57:41 +00:00
Francisco Paisana
ac4d3b9624
std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable
2019-11-28 11:57:41 +00:00
Francisco Paisana
c9f092e8e9
created a nullsink and a TESTASSERT for C
2019-11-28 11:44:54 +00:00
Francisco Paisana
67ccaf1029
created a file with common test utils, including assertions, a logger specialized for tests that counts the number of errors and warnings during the test run and can print diagnostics on exit
2019-11-28 11:44:54 +00:00
Andre Puschmann
47019e26f6
fix signed/unsigned comparison warning
2019-11-24 14:59:54 +01:00
Andre Puschmann
6f72cbffab
fix snprintf of uint64 for ARM
2019-11-24 14:59:54 +01:00
Francisco Paisana
e8487211e4
changed the naming of mch to m1u in the gtpu class
2019-11-20 10:34:35 +00:00
Francisco Paisana
1400777639
removed 1st thread from GTPU
2019-11-20 10:34:35 +00:00
Francisco Paisana
a9a33256e9
fixed some of the net utils functions
2019-11-15 17:57:36 +00:00
Francisco Paisana
546ee98879
fixed small issue that was causing compilation errors
2019-11-15 17:57:36 +00:00
Francisco Paisana
2de0eee9c7
clean up some comments
2019-11-15 17:57:36 +00:00
Francisco Paisana
76673d2d40
cleaned up socket util methods, and made the S1AP non-blocking.
2019-11-15 17:57:36 +00:00
Francisco Paisana
2c3e4a3daf
creation of util class net_addr_t that provides methods for conversion of IP addr const char* to sockaddr_in
2019-11-15 17:57:36 +00:00
Francisco Paisana
31dffde6c3
simplified interface and made it more generic to different types of sockets
2019-11-15 17:57:36 +00:00
Francisco Paisana
e37a718f21
created a sctp socket class
2019-11-15 17:57:36 +00:00
Francisco Paisana
131b1a7e41
added a class to handle multiple sockets via a select
2019-11-15 17:57:36 +00:00
Andre Puschmann
98ac39e617
fix compilation when macro SRSLTE_BUFFER_POOL_LOG_ENABLED is enabled
2019-11-15 17:20:51 +01:00
Francisco Paisana
57cd40ca31
added an ho required message send from SeNB to MME
2019-11-10 22:06:31 +00:00
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
2019-11-08 13:59:38 +00:00
Pedro Alvarez
ac9ee9d863
Added comment.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
9998b3e857
Small white space fix and clang-format on pdcp_nr_test.h
2019-11-07 14:12:08 +01:00
Pedro Alvarez
8511fca940
Clang-formated to prepare for PR
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ceea761ca4
Added append_bytes method to byte_buffer_t class. Continue to reduce boilerplate.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
b92c99ad2f
Removing PDCP config from rrc_interfaces_types. Starting to add t_reordering configuration.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
45d298507b
Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout.
2019-11-07 14:12:08 +01:00
Andre Puschmann
f4a0bebe1f
fix handling of invalid MAC LCIDs
2019-10-31 21:43:27 +01:00
Andre Puschmann
aa9733eb59
add packing for CCCH over UL-SCH for MAC NR
2019-10-31 21:43:27 +01:00
Francisco Paisana
8440126d35
removal of srslte::timers class
2019-10-23 19:33:25 +01:00
Francisco Paisana
9ae5563331
fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run
2019-10-23 19:33:25 +01:00
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
2019-10-23 19:33:25 +01:00
Francisco Paisana
5953d5ef96
fixed some potential bug related to timer getting stopped, but signaling that it expired
2019-10-23 19:25:48 +01:00
Francisco Paisana
551192705e
allow for pre-reservation of timers vector and priority queue
2019-10-23 19:25:48 +01:00
Francisco Paisana
50a1c9d557
addressed potential overflow, and extended timer test to check if ordering is working correctly
2019-10-23 19:25:48 +01:00
Francisco Paisana
349646a9da
created a new class for timers. It uses a priority queue to avoid incrementing all timers every tti (step_all() went from O(N) to O(1)), and that is not bounded in number of timers. Not being bounded will be useful for layers that require one or more timers per UE
2019-10-23 19:25:48 +01:00
Francisco Paisana
15bde8660a
getting a future of an already finished proc is dangerous
2019-10-23 18:19:25 +02:00
Francisco Paisana
248583ecdf
added extra logging and removed uneeded member from proc_t
2019-10-23 18:19:25 +02:00
Francisco Paisana
b254bdbb93
typedefed the proc_result_t<void> to become proc_state_t
2019-10-23 18:19:25 +02:00
Francisco Paisana
f2d88e5a5b
simplified NAS rrc connection request procedure
...
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Francisco Paisana
8864787f59
added the continuation functionality to procedures via the "then()" method.
2019-10-23 18:19:25 +02:00
Francisco Paisana
c1be118d1d
new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor()
2019-10-23 18:19:25 +02:00
Ismael Gomez
3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
...
* Added channel emulator to srsENB. Added support for fixed delay
* Bug in OFDM when using nonguru mode
* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
2019-10-21 16:17:37 +02:00
Andre Puschmann
d5835fc8a0
add info_long() method to log filter
2019-10-18 16:38:55 +02:00
Andre Puschmann
626259eede
add helper method to obtain thread name
...
this is helpful to, for example, print the name of
the thread that calls a function, i.e.:
log.console("%s from %s\n", __PRETTY_FUNCTION__, thread::get_name().c_str());
2019-10-15 10:13:21 +02:00
Andre Puschmann
d8fedf2e19
fix parsing of corrupted MAC PDUs
2019-10-11 17:35:52 +02:00
Francisco Paisana
a2f1998350
fix issue with thread pool shut down
2019-10-04 10:24:21 +02:00
Francisco Paisana
c413fadea9
created a queue-based thread pool. Tasks are inserted into a queue and then popped by the thread pool workers to be processed.
2019-10-02 11:04:47 +02:00
Andre Puschmann
57317fab7c
expose debug_long to class log and use in RRC to log ASN1 structs
2019-09-18 16:12:24 +02:00