aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.cpp
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-09-07 14:04:56 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-09-07 14:10:35 +0200
commit7c8d39a67b7568cda38829c774ea541250f3142f (patch)
tree43995001059bb0514c33c04b2e97a82352cf0639 /src/tbf.cpp
parentc8cbfc2c9800929a46ffa71e3bd0f34aa9b42f33 (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.cpp3
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 */