bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp
branchRCL_3
changeset 69 cf1b3ddbe9a1
parent 58 83ca720e2b9a
--- a/bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp	Wed Sep 15 12:38:40 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp	Wed Oct 13 14:59:48 2010 +0300
@@ -113,6 +113,31 @@
             iContext.iNodeActivity->SetError( KErrGeneral );
             }
 
+#ifdef _DEBUG
+        // Purely for debugging purposes
+        CS60MetaConnectionProvider& node = (CS60MetaConnectionProvider&)iContext.Node();
+        if ( node.IsGoneDownRecoveryOngoing() )
+            {
+            // This transition is done in both connection start recovery and in
+            // gone down recovery. If we are running gone down recovery, there
+            // are two possible options what can happen next:
+            // 1) If we are running mobility activity, the error can be ignored
+            //    if there is another carrier available. In this case MPM will
+            //    send a preffered carrier available soon after.
+            // 2) In all other cases, the only way forward is error propagation
+            //    (see gone down activity for further info). In this case, the
+            //    gone down error is sent to clients and connection will be 
+            //    teared down.
+            //
+            // In both cases, the GoneDownRecoveryOngoing flag is not cleared.
+            // For case 1) above, it will be cleared after the connection has
+            // roamed, and for option 2) it is pretty much irrelevant (we can
+            // probably avoid a couple of race conditions by leaving the flag
+            // active for the time being.
+            S60MCPRLOGSTRING1("S60MCPR<%x>::TNoTagOrIgnoreErrorOrErrorTag::TransitionTag() MPM response while GoneDown recovery active",(TInt*)&iContext.Node());
+            }
+#endif
+        
         // Error transition
         //
         if ( !msg )