diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-09-07 14:04:56 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-09-07 14:10:35 +0200 |
commit | 7c8d39a67b7568cda38829c774ea541250f3142f (patch) | |
tree | 43995001059bb0514c33c04b2e97a82352cf0639 /src/tbf.cpp | |
parent | c8cbfc2c9800929a46ffa71e3bd0f34aa9b42f33 (diff) |
poll: Count failed procedures
When a timeout has occured several times, the procedures handled by
poll_timeout are aborted. This happens when the number of repetitions
exceed N3105. Currently only the timeouts themselves are counted.
This commits adds counters that are incremented if a procedure has
really failed.
New counter:
- rlc.ass.failed: Count failing UL and DL assigments via PACCH
- rlc.ack.failed: Count failing DL Ack/Nack requests
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/tbf.cpp')
-rw-r--r-- | src/tbf.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp index b604c683..6c1320fc 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -473,6 +473,7 @@ void gprs_rlcmac_tbf::poll_timeout() LOGP(DRLCMAC, LOGL_NOTICE, "- N3105 exceeded\n"); set_state(GPRS_RLCMAC_RELEASING); tbf_timer_start(this, 3195, bts_data()->t3195, 0); + bts->rlc_ass_failed(); return; } /* reschedule UL assignment */ @@ -492,6 +493,7 @@ void gprs_rlcmac_tbf::poll_timeout() LOGP(DRLCMAC, LOGL_NOTICE, "- N3105 exceeded\n"); set_state(GPRS_RLCMAC_RELEASING); tbf_timer_start(this, 3195, bts_data()->t3195, 0); + bts->rlc_ass_failed(); return; } /* reschedule DL assignment */ @@ -514,6 +516,7 @@ void gprs_rlcmac_tbf::poll_timeout() LOGP(DRLCMAC, LOGL_NOTICE, "- N3105 exceeded\n"); dl_tbf->set_state(GPRS_RLCMAC_RELEASING); tbf_timer_start(dl_tbf, 3195, dl_tbf->bts_data()->t3195, 0); + bts->rlc_ack_failed(); return; } /* resend IMM.ASS on CCCH on timeout */ |