--- a/commsfwsupport/commselements/serverden/inc/sd_roles.h Fri Jun 11 14:52:21 2010 +0300
+++ b/commsfwsupport/commselements/serverden/inc/sd_roles.h Wed Aug 18 10:59:59 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;
};
/**