mirror of
https://github.com/MidnightBlueLabs/tetra-bluestation.git
synced 2026-03-29 05:09:51 +00:00
Merge feature/late-entry-dsetup-throttle into tx_receipts
Bring in the 5s late-entry D-SETUP interval fix and return->continue bug fix from the feature branch. Drop the mcch_queue_depth heuristic throttle (StackState field, UMAC publish, CMCE check, dl_queue_depth) in favor of the tx_receipt-based approach on this branch.
This commit is contained in:
@@ -8,7 +8,7 @@ use tetra_saps::{
|
||||
};
|
||||
|
||||
const D_SETUP_REPEATS: i32 = 1;
|
||||
const LATE_ENTRY_INTERVAL_TIMESLOTS: i32 = multiframes!(20);
|
||||
const LATE_ENTRY_INTERVAL_TIMESLOTS: i32 = multiframes!(5);
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub enum CircuitErr {
|
||||
@@ -307,7 +307,7 @@ impl CircuitMgr {
|
||||
tasks = self.close_expired_circuits(tasks);
|
||||
|
||||
// Next, go through channels, see if D-SETUPs need to be sent
|
||||
// Late entry: resend D-SETUP every 20 multiframes (5 seconds)
|
||||
// Late entry: resend D-SETUP every 5 seconds
|
||||
for circuit in self.dl.iter() {
|
||||
if let Some(circuit) = circuit {
|
||||
let age = circuit.ts_created.age(dltime);
|
||||
@@ -319,7 +319,7 @@ impl CircuitMgr {
|
||||
.get_or_insert_with(Vec::new)
|
||||
.push(CircuitMgrCmd::SendDSetup(circuit.call_id, circuit.usage, circuit.ts));
|
||||
}
|
||||
// Late entry: resend every 20 multiframes
|
||||
// Late entry: resend every 5 seconds
|
||||
else if age % LATE_ENTRY_INTERVAL_TIMESLOTS == 0 {
|
||||
tasks
|
||||
.get_or_insert_with(Vec::new)
|
||||
|
||||
@@ -651,7 +651,7 @@ impl CcBsSubentity {
|
||||
// Get our cached D-SETUP, build a prim and send it down the stack
|
||||
let Some((pdu, dest_addr)) = self.cached_setups.get_mut(&call_id) else {
|
||||
tracing::error!("No cached D-SETUP for call id {}", call_id);
|
||||
return;
|
||||
continue;
|
||||
};
|
||||
// Update transmission_grant based on current call state:
|
||||
// During hangtime (nobody transmitting), use NotGranted;
|
||||
|
||||
Reference in New Issue
Block a user