the previous patch only introduced a thread-safe queue between
PHY workers (writers) and PCAP writer thread (consumer).
However, it is also required to protect the ctor (and close()) to
prevent corrupted PCAP files.
The patch also correctly handles the case where the PCAP couldn't
be openend for writing and doesn't start the thread.
* offload PCAP writing to background thread
* use blocking_queue between writer and clients to make it thread-safe
* add basic test case
this fixes point 1-3 of #2161
detected with ASAN trying to write negative number of padding bytes.
The patch checks the calculated length and returns with an error
if the length is negative.
=================================================================
==5759==AddressSanitizer: while reporting a bug found another one. Ignoring.
m==5759==ERROR: AddressSanitizer: negative-size-param: (size=-6)
add a logline in info whenever the user updates the cell individual
gain. Note that this log happens before checking whether the
cell even exists and can be updated. This is mainly because
phy_common doesn't have an own logger object.
during MAC reset, scells are reset to and their PCI is set to UINT32_MAX
which results in malformatted stdout prints, see below:
Random Access Transmission: seq=16, ra-rnti=0x2
Random Access Transmission: seq=14, ra-rnti=0x2
0 4 -24 24 -1.1u 1.0 140 0.50 0.0 0% 0.0 0.0 0.0 0.0 67%
14294967295 0.0 0.0 -1.1u 0.0 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0%
24294967295 0.0 0.0 -1.1u 0.0 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0%
34294967295 0.0 0.0 -1.1u 0.0 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0%
this patch checks the configured PCI value against UINT32_MAX and
prints "n/a" in case the scells aren't set yet.
- Handle received E-RAB S1AP at s1ap.cc.
- Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
- Made RLC add_bearer() function capable of re-creating the RLC entity.
- Send RRC reconfiguration to the UE and reply to the EPC with S1AP
modify bearer response.
This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
this patch adds support for measuring the:
* SDU rx latency (Average time in ms from first RLC segment to full SDU)
* amount of buffered bytes (sum of payload of PDUs buffered in rx_window)
the implementation is using std::chrono