Add detailed ref counting print for wdm subscription
-- Previousl subscription has detailed ref counter print, we extend this
print for wdm update.
-- Add detailed print for release
diff --git a/src/lib/profiles/data-management/Current/SubscriptionClient.cpp b/src/lib/profiles/data-management/Current/SubscriptionClient.cpp
index d8da9fd..5b8b869 100644
--- a/src/lib/profiles/data-management/Current/SubscriptionClient.cpp
+++ b/src/lib/profiles/data-management/Current/SubscriptionClient.cpp
@@ -149,6 +149,8 @@
#endif // WEAVE_CONFIG_ENABLE_WDM_UPDATE
MoveToState(kState_Initialized);
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
_AddRef();
#if WEAVE_CONFIG_ENABLE_WDM_UPDATE
@@ -427,6 +429,8 @@
{
WEAVE_ERROR err = WEAVE_NO_ERROR;
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
_AddRef();
if (mBinding->IsReady())
@@ -778,6 +782,9 @@
{
--mRefCount;
}
+
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
}
Binding * SubscriptionClient::GetBinding() const
@@ -796,6 +803,8 @@
InEventParam inParam;
OutEventParam outParam;
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
// Make sure we're not freed by accident.
_AddRef();
@@ -1088,6 +1097,8 @@
{
WEAVE_ERROR err = WEAVE_NO_ERROR;
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
_AddRef();
// this check serves to see whether we already have a timer set
@@ -1164,6 +1175,9 @@
{
SubscriptionClient * const pClient = reinterpret_cast<SubscriptionClient *>(aAppState);
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(pClient),
+ pClient->GetStateStr(), __func__, pClient->mRefCount);
+
pClient->_AddRef();
switch (aEvent)
@@ -1344,6 +1358,9 @@
ExitNow();
}
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
+
// Make sure we're not freed by accident
_AddRef();
@@ -1451,6 +1468,8 @@
AlwaysAcceptDataElementAccessControlDelegate acDelegate;
#if WEAVE_CONFIG_ENABLE_WDM_UPDATE
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
_AddRef();
LockUpdateMutex();
#endif // WEAVE_CONFIG_ENABLE_WDM_UPDATE
@@ -2476,6 +2495,8 @@
bool isPathPrivate;
bool willRetryPath;
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
// This method invokes callbacks into the upper layer.
_AddRef();
@@ -2769,6 +2790,8 @@
TraitPath traitPath;
WEAVE_ERROR err = WEAVE_NO_ERROR;
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
_AddRef();
LockUpdateMutex();
@@ -3330,6 +3353,8 @@
err = SubscriptionEngine::GetInstance()->GetExchangeManager()->MessageLayer->SystemLayer->ScheduleWork(OnUpdateScheduleWorkCallback, this);
SuccessOrExit(err);
+ WeaveLogDetail(DataManagement, "Client[%u] [%5.5s] %s Ref(%d)", SubscriptionEngine::GetInstance()->GetClientId(this),
+ GetStateStr(), __func__, mRefCount);
_AddRef();
mUpdateFlushScheduled = true;