<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12842">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">comments: clarify usage of conn.assignment and .handover scopes<br><br>Change-Id: I7ef602c3ce086aecbc3ae3ae6d3fd33ad2b9f85c<br>---<br>M include/osmocom/bsc/gsm_data.h<br>1 file changed, 13 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/42/12842/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h</span><br><span>index 867a46c..389f9a5 100644</span><br><span>--- a/include/osmocom/bsc/gsm_data.h</span><br><span>+++ b/include/osmocom/bsc/gsm_data.h</span><br><span>@@ -99,6 +99,9 @@</span><br><span>        SUBSCR_SCCP_ST_CONNECTED</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Information retrieved during an Assignment Request from the MSC. This used as storage of the Assignment instructions</span><br><span style="color: hsl(120, 100%, 40%);">+ * parsed from the Assignment Request message, to pass on until the gscon and assignment FSMs have decided whether an</span><br><span style="color: hsl(120, 100%, 40%);">+ * Assignment is actually going to be carried out. Must remain unchanged after initial decoding. */</span><br><span> struct assignment_request {</span><br><span>       bool aoip;</span><br><span> </span><br><span>@@ -112,6 +115,9 @@</span><br><span>         uint16_t s15_s0;</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* State of an ongoing Assignment, while the assignment_fsm is still busy. This serves as state separation to keep the</span><br><span style="color: hsl(120, 100%, 40%);">+ * currently used lchan and gscon unmodified until the outcome of an Assignment is known. If the Assignment fails, this</span><br><span style="color: hsl(120, 100%, 40%);">+ * state is simply discarded, and the gscon carries on with the original lchan remaining unchanged. */</span><br><span> struct assignment_fsm_data {</span><br><span>  struct assignment_request req;</span><br><span>       bool requires_voice_stream;</span><br><span>@@ -204,12 +210,17 @@</span><br><span>  /* back pointers */</span><br><span>  struct gsm_network *network;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        /* the primary / currently active lchan to the BTS/subscriber */</span><br><span style="color: hsl(120, 100%, 40%);">+      /* the primary / currently active lchan to the BTS/subscriber. During Assignment and Handover, separate lchans</span><br><span style="color: hsl(120, 100%, 40%);">+         * are kept in the .assignment or .handover sub-structs, respectively, so that this lchan remains unaffected</span><br><span style="color: hsl(120, 100%, 40%);">+   * until Assignment or Handover have actually succeeded. */</span><br><span>  struct gsm_lchan *lchan;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+  /* Only valid during an ongoing Assignment; might be overwritten at any time by a failed Assignment attempt.</span><br><span style="color: hsl(120, 100%, 40%);">+   * Once an Assignment was successful, all relevant state must be copied out of this sub-struct. */</span><br><span>   struct assignment_fsm_data assignment;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      /* handover information, if a handover is pending for this conn. */</span><br><span style="color: hsl(120, 100%, 40%);">+   /* handover information, if a handover is pending for this conn. Valid only during an ongoing Handover</span><br><span style="color: hsl(120, 100%, 40%);">+         * operation. If a Handover was successful, all relevant state must be copied out of this sub-struct. */</span><br><span>     struct handover ho;</span><br><span> </span><br><span>      /* buffer/cache for classmark of the ME of the subscriber */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12842">change 12842</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12842"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I7ef602c3ce086aecbc3ae3ae6d3fd33ad2b9f85c </div>
<div style="display:none"> Gerrit-Change-Number: 12842 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>