laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-cbc/+/27984 )
Change subject: CBSP: Append/store results in KILL COMPLETE + KILL FAIL ......................................................................
CBSP: Append/store results in KILL COMPLETE + KILL FAIL
When the BSC returns a KILL COMPLETE or KILL FAIL, append the contained lists (number of broadcasts completed list, fail list, ...) to update the state of the CBC.
Change-Id: Iabe5b4e6a238597455294bf91759d4dc6e90d660 --- M src/smscb_peer_fsm.c 1 file changed, 10 insertions(+), 2 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved
diff --git a/src/smscb_peer_fsm.c b/src/smscb_peer_fsm.c index 49b3b1d..08b0f3f 100644 --- a/src/smscb_peer_fsm.c +++ b/src/smscb_peer_fsm.c @@ -411,16 +411,24 @@ static void smscb_p_fsm_wait_delete_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct cbc_message_peer *mp = (struct cbc_message_peer *) fi->priv; + struct osmo_cbsp_decoded *dec = NULL;
switch (event) { case SMSCB_E_CBSP_DELETE_ACK: - /* TODO: append results */ + dec = data; + /* append results */ + msg_peer_append_cbsp_compl(mp, &dec->u.kill_compl.num_compl_list); + msg_peer_append_cbsp_cell(mp, &dec->u.kill_compl.cell_list); /* Signal parent fsm about completion */ osmo_fsm_inst_dispatch(fi->proc.parent, SMSCB_E_CBSP_DELETE_ACK, mp); osmo_fsm_inst_state_chg(fi, SMSCB_S_DELETED, 0, 0); break; case SMSCB_E_CBSP_DELETE_NACK: - /* TODO: append results */ + dec = data; + /* append results */ + msg_peer_append_cbsp_compl(mp, &dec->u.kill_fail.num_compl_list); + msg_peer_append_cbsp_cell(mp, &dec->u.kill_fail.cell_list); + msg_peer_append_cbsp_fail(mp, &dec->u.kill_fail.fail_list); /* Signal parent fsm about completion */ osmo_fsm_inst_dispatch(fi->proc.parent, SMSCB_E_CBSP_DELETE_NACK, mp); osmo_fsm_inst_state_chg(fi, SMSCB_S_DELETED, 0, 0);