Neels Hofmeyr has uploaded this change for review. ( 
https://gerrit.osmocom.org/12842


Change subject: comments: clarify usage of conn.assignment and .handover scopes
......................................................................

comments: clarify usage of conn.assignment and .handover scopes

Change-Id: I7ef602c3ce086aecbc3ae3ae6d3fd33ad2b9f85c
---
M include/osmocom/bsc/gsm_data.h
1 file changed, 13 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/42/12842/1

diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 867a46c..389f9a5 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -99,6 +99,9 @@
        SUBSCR_SCCP_ST_CONNECTED
 };

+/* Information retrieved during an Assignment Request from the MSC. This used 
as storage of the Assignment instructions
+ * parsed from the Assignment Request message, to pass on until the gscon and 
assignment FSMs have decided whether an
+ * Assignment is actually going to be carried out. Must remain unchanged after 
initial decoding. */
 struct assignment_request {
        bool aoip;

@@ -112,6 +115,9 @@
        uint16_t s15_s0;
 };

+/* State of an ongoing Assignment, while the assignment_fsm is still busy. 
This serves as state separation to keep the
+ * currently used lchan and gscon unmodified until the outcome of an 
Assignment is known. If the Assignment fails, this
+ * state is simply discarded, and the gscon carries on with the original lchan 
remaining unchanged. */
 struct assignment_fsm_data {
        struct assignment_request req;
        bool requires_voice_stream;
@@ -204,12 +210,17 @@
        /* back pointers */
        struct gsm_network *network;

-       /* the primary / currently active lchan to the BTS/subscriber */
+       /* the primary / currently active lchan to the BTS/subscriber. During 
Assignment and Handover, separate lchans
+        * are kept in the .assignment or .handover sub-structs, respectively, 
so that this lchan remains unaffected
+        * until Assignment or Handover have actually succeeded. */
        struct gsm_lchan *lchan;

+       /* Only valid during an ongoing Assignment; might be overwritten at any 
time by a failed Assignment attempt.
+        * Once an Assignment was successful, all relevant state must be copied 
out of this sub-struct. */
        struct assignment_fsm_data assignment;

-       /* handover information, if a handover is pending for this conn. */
+       /* handover information, if a handover is pending for this conn. Valid 
only during an ongoing Handover
+        * operation. If a Handover was successful, all relevant state must be 
copied out of this sub-struct. */
        struct handover ho;

        /* buffer/cache for classmark of the ME of the subscriber */

--
To view, visit https://gerrit.osmocom.org/12842
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7ef602c3ce086aecbc3ae3ae6d3fd33ad2b9f85c
Gerrit-Change-Number: 12842
Gerrit-PatchSet: 1
Gerrit-Owner: Neels Hofmeyr <nhofm...@sysmocom.de>

Reply via email to