mirror of https://github.com/PentHertz/srsLTE.git
rlc_um: fix reestablishment for sending UM entity
we've reset the rx state variables during reestablishment but not the tx state variable.
This commit is contained in:
parent
218fa5cf55
commit
ff96336f91
|
@ -105,6 +105,7 @@ protected:
|
|||
|
||||
// helper functions
|
||||
virtual void debug_state() = 0;
|
||||
virtual void reset() = 0;
|
||||
};
|
||||
|
||||
// Receiver sub-class base
|
||||
|
|
|
@ -63,6 +63,8 @@ private:
|
|||
uint32_t get_buffer_state();
|
||||
|
||||
private:
|
||||
void reset();
|
||||
|
||||
/****************************************************************************
|
||||
* State variables and counters
|
||||
* Ref: 3GPP TS 36.322 v10.0.0 Section 7
|
||||
|
|
|
@ -63,6 +63,8 @@ private:
|
|||
uint32_t get_buffer_state();
|
||||
|
||||
private:
|
||||
void reset();
|
||||
|
||||
uint32_t TX_Next = 0; // send state as defined in TS 38.322 v15.3 Section 7
|
||||
// It holds the value of the SN to be assigned for the next newly generated UMD PDU with
|
||||
// segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU
|
||||
|
|
|
@ -215,6 +215,7 @@ rlc_um_base::rlc_um_base_tx::~rlc_um_base_tx() {}
|
|||
void rlc_um_base::rlc_um_base_tx::stop()
|
||||
{
|
||||
empty_queue();
|
||||
reset();
|
||||
}
|
||||
|
||||
void rlc_um_base::rlc_um_base_tx::reestablish()
|
||||
|
|
|
@ -219,6 +219,11 @@ void rlc_um_lte::rlc_um_lte_tx::debug_state()
|
|||
log->debug("%s vt_us = %d\n", rb_name.c_str(), vt_us);
|
||||
}
|
||||
|
||||
void rlc_um_lte::rlc_um_lte_tx::reset()
|
||||
{
|
||||
vt_us = 0;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Rx subclass implementation
|
||||
***************************************************************************/
|
||||
|
|
|
@ -205,7 +205,13 @@ int rlc_um_nr::rlc_um_nr_tx::build_data_pdu(unique_byte_buffer_t pdu, uint8_t* p
|
|||
|
||||
void rlc_um_nr::rlc_um_nr_tx::debug_state()
|
||||
{
|
||||
log->debug("%s TX_Next = %d\n", rb_name.c_str(), TX_Next);
|
||||
log->debug("%s TX_Next=%d, next_so=%d\n", rb_name.c_str(), TX_Next, next_so);
|
||||
}
|
||||
|
||||
void rlc_um_nr::rlc_um_nr_tx::reset()
|
||||
{
|
||||
TX_Next = 0;
|
||||
next_so = 0;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
|
Loading…
Reference in New Issue