commsfwsupport/commselements/serverden/inc/sd_roles.h
branchRCL_3
changeset 69 9d7ce34704c8
parent 0 dfb7c4ff071f
child 70 b564fb5fd78b
--- a/commsfwsupport/commselements/serverden/inc/sd_roles.h	Thu Aug 19 11:05:47 2010 +0300
+++ b/commsfwsupport/commselements/serverden/inc/sd_roles.h	Tue Aug 31 16:25:36 2010 +0300
@@ -545,7 +545,19 @@
 	{
 private:
 	enum { ELivingSession = 0x80000000 };
-
+	
+   NONSHARABLE_CLASS(CSubSessionCloseThrottle) : public CAsyncOneShot
+        {
+        public:
+           CSubSessionCloseThrottle(CCommonSessionProxy& aProxy);
+            void RunL();
+        private:
+            CCommonSessionProxy& iProxy;
+        };
+   
+   static const TInt KSubSessionThrottleSize = 15; 
+   friend class CSubSessionCloseThrottle;
+   
 public:
 	IMPORT_C ~CCommonSessionProxy();
 
@@ -576,10 +588,14 @@
 	IMPORT_C CCommonSessionProxy(CWorkerSession* aSession, CCommonPlayer& aPlayer);
 
 private:
+	void DeleteSubSessionsWithThrottling();
+
+private:
 	CWorkerSession* iSession;   		//< The session which is represented by proxy instance
 	CCommonPlayer& iPlayer;
 	TInt iNumSubSessClosing;			//< Number of subsessions in current thread to complete
 	TDblQueLink iLink;
+	CSubSessionCloseThrottle iSubSessionCloseThrottle;
 	};
 
 /**