Revision: 201017 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 18:14:09 +0300
branchRCL_3
changeset 15 9bab6ffc7f45
parent 13 343eee2d4450
child 17 75c06c88bfa3
child 21 2129f10626ba
Revision: 201017 Kit: 201017
linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp
networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp
--- a/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp	Wed Apr 14 17:34:42 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp	Tue Apr 27 18:14:09 2010 +0300
@@ -65,6 +65,14 @@
     LAST_NODEACTIVITY_ENTRY(KErrorTag, MeshMachine::TDoNothing)
 NODEACTIVITY_END()
 }
+namespace TunnelGoneDownActivity
+{
+DECLARE_DEFINE_NODEACTIVITY(ECFActivityGoneDown, TunnelGoneDown, TCFControlClient::TGoneDown)
+    // Our Service Provider has gone down unexpectedly (we haven't issued a TStop)
+    FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingGoneDown, MeshMachine::TNoTag)
+    LAST_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing)
+NODEACTIVITY_END()
+}
 
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 namespace TunnelAgentCprNotificationActivity
@@ -78,6 +86,7 @@
 {
 DECLARE_DEFINE_ACTIVITY_MAP(TunnelAgentCprActivities)
 	ACTIVITY_MAP_ENTRY(TunnelAgentCprStartActivity, TunnelCprStart)
+      ACTIVITY_MAP_ENTRY(TunnelGoneDownActivity, TunnelGoneDown)
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 	ACTIVITY_MAP_ENTRY(TunnelAgentCprNotificationActivity, TunnelAgentCprNotification)
 #endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
--- a/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp	Wed Apr 14 17:34:42 2010 +0300
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp	Tue Apr 27 18:14:09 2010 +0300
@@ -229,8 +229,11 @@
 	THROUGH_NODEACTIVITY_ENTRY(KActiveTag, CoreNetStates::TCancelDataClientStart, MeshMachine::TNoTag)
 	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TStopSelf, CoreNetStates::TAwaitingDataClientStopped, CoreNetStates::TNoTagOrNoBearer)
 	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendStop, CoreNetStates::TAwaitingStopped, MeshMachine::TNoTag)
-	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, TTag<CoreNetStates::KNoBearer>)
-	LAST_NODEACTIVITY_ENTRY(CoreNetStates::KNoBearer, IpProtoCpr::TSendStoppedAndGoneDown)
+	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, TTag<CoreNetStates::KNoBearer>)	
+	THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KNoBearer, IpProtoCpr::TSendStoppedAndGoneDown, MeshMachine::TNoTag)
+	//Ensure that we reset the iLinkUp flag, otherwise a Start activity blocked against this Stop activity will
+	//cause an assertion failure as iLinkUp will be set twice.
+	LAST_NODEACTIVITY_ENTRY(KNoTag, IpProtoCpr::TLinkDown)
 NODEACTIVITY_END()
 }