Skip to content

async CCR-Update enabler (#22 Increment 1) - #49

Closed
next-nf wants to merge 4 commits into
async-establishment-step3from
async-ue-bearer-22
Closed

async CCR-Update enabler (#22 Increment 1)#49
next-nf wants to merge 4 commits into
async-establishment-step3from
async-ue-bearer-22

Conversation

@next-nf

@next-nf next-nf commented Jul 21, 2026

Copy link
Copy Markdown
Owner

#22 Increment 1 — the async Gx CCR-Update enabler. Stacked on #48 (base async-establishment-step3); review/merge the stack in order (#45#46#48 → this).

The reusable piece that lets an async_m procedure issue a mid-session CCR and await its reply — the mechanism #22 (UE-requested bearer resource modification) and #23 need. No #22 procedure yet; that's Increment 2.

  • ccr_update_issue (real Gx) — a pure mirror of the landed ccr_initial_issue: ccr_update_pre_send factored verbatim out of the blocking CCR-Update invoke clause, plus smf_aaa_pcf:ccr_update_issue/4 (the shared issue/5 helper now dispatches per procedure). Returns {Promise, Session_at_send, State_at_send}; the reply routes through the existing {'$reply', Promise}async_m:handle_reply path; fold_cca is reused unchanged.
  • smf_aaa_static async path — the pgw_SUITE AAA mock was synchronous (no Promise, canned post-processed answers), which blocked end-to-end testing of any diameter-async consumer. It now has ccr_update_issue/3/ccr_initial_issue/3 that mint a Promise and deliver the canned answer as a raw ['CCA'|AVPs] {'$reply', Promise} (only Result-Code needs list-wrapping to match handle_cca). A CT proves the full loop: issue → receive → fold_cca → a real {pcc, remove, _} event.

Tests

  • smf_aaa_static_async_SUITE (the async-CCR-U loop) + diameter_Gx_SUITE 6/6 (the CCR-U invoke extraction is behavior-preserving) — 7/7 together.
  • pgw_SUITE 127/127 (the mock's sync path is untouched); default rebar3 compile green.

Next: Increment 2 — the delete_packet_filters → PTI Delete Bearer procedure, built on this + the CCR-U packet-filter wire encoding.

🤖 Generated with Claude Code

@next-nf

next-nf commented Jul 25, 2026

Copy link
Copy Markdown
Owner Author

Superseded by the async-invoke redesign. #49's diameter-bridge CCR-U enabler (ccr_update_issue + the smf_aaa_static async mock path) is replaced by the whole-pipeline async foundation now in #48 — nothing here is carried forward. The #22 filter work lives in #56.

@next-nf next-nf closed this Jul 25, 2026
@next-nf
next-nf deleted the async-ue-bearer-22 branch July 27, 2026 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant