laforge has uploaded this change for review.

View Change

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(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-cbc refs/changes/84/27984/1
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);

To view, visit change 27984. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: Iabe5b4e6a238597455294bf91759d4dc6e90d660
Gerrit-Change-Number: 27984
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge@osmocom.org>
Gerrit-MessageType: newchange