diff --git a/srsenb/hdr/upper/pdcp.h b/srsenb/hdr/upper/pdcp.h index ce6b01ca6..1dc555fee 100644 --- a/srsenb/hdr/upper/pdcp.h +++ b/srsenb/hdr/upper/pdcp.h @@ -68,7 +68,7 @@ private: uint16_t rnti; srsenb::rlc_interface_pdcp *rlc; // rlc_interface_pdcp - void write_sdu(uint32_t lcid, srslte::byte_buffer_t *sdu); + void write_sdu(uint32_t lcid, srslte::byte_buffer_t *sdu, bool blocking); bool rb_is_um(uint32_t lcid); }; diff --git a/srsenb/src/upper/pdcp.cc b/srsenb/src/upper/pdcp.cc index 7f62477f9..4d242bdc1 100644 --- a/srsenb/src/upper/pdcp.cc +++ b/srsenb/src/upper/pdcp.cc @@ -154,9 +154,8 @@ void pdcp::user_interface_gtpu::write_pdu(uint32_t lcid, srslte::byte_buffer_t * gtpu->write_pdu(rnti, lcid, pdu); } -void pdcp::user_interface_rlc::write_sdu(uint32_t lcid, srslte::byte_buffer_t* sdu) +void pdcp::user_interface_rlc::write_sdu(uint32_t lcid, srslte::byte_buffer_t* sdu, bool blocking) { - rlc->write_sdu(rnti, lcid, sdu); } diff --git a/srsenb/src/upper/rlc.cc b/srsenb/src/upper/rlc.cc index 293b1c634..aa62ac1e1 100644 --- a/srsenb/src/upper/rlc.cc +++ b/srsenb/src/upper/rlc.cc @@ -190,7 +190,7 @@ void rlc::write_sdu(uint16_t rnti, uint32_t lcid, srslte::byte_buffer_t* sdu) pthread_rwlock_rdlock(&rwlock); if (users.count(rnti)) { if(rnti != SRSLTE_MRNTI){ - users[rnti].rlc->write_sdu_nb(lcid, sdu); + users[rnti].rlc->write_sdu(lcid, sdu, false); tx_queue = users[rnti].rlc->get_total_buffer_state(lcid); }else { users[rnti].rlc->write_sdu_mch(lcid, sdu); diff --git a/srsue/src/upper/gw.cc b/srsue/src/upper/gw.cc index 3d91791b2..acf2bb07e 100644 --- a/srsue/src/upper/gw.cc +++ b/srsue/src/upper/gw.cc @@ -364,8 +364,7 @@ void gw::run_thread() if (pdcp->is_drb_enabled(cfg.lcid)) { pdu->set_timestamp(); ul_tput_bytes += pdu->N_bytes; - pdcp->write_sdu(cfg.lcid, pdu); - + pdcp->write_sdu(cfg.lcid, pdu, false); do { pdu = pool_allocate; if (!pdu) {