nodes: improved handling of memstat messages.
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
#include "aqhome/msg/node/m_node.h"
|
#include "aqhome/msg/node/m_node.h"
|
||||||
#include "aqhome/msg/node/m_sendstats.h"
|
#include "aqhome/msg/node/m_sendstats.h"
|
||||||
#include "aqhome/msg/node/m_recvstats.h"
|
#include "aqhome/msg/node/m_recvstats.h"
|
||||||
|
#include "aqhome/msg/node/m_memstats.h"
|
||||||
#include "aqhome/msg/node/m_value.h"
|
#include "aqhome/msg/node/m_value.h"
|
||||||
#include "aqhome/msg/node/m_addr.h"
|
#include "aqhome/msg/node/m_addr.h"
|
||||||
#include "aqhome/msg/node/m_device.h"
|
#include "aqhome/msg/node/m_device.h"
|
||||||
@@ -44,6 +45,7 @@ static void _handleMsgValue(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
|||||||
static void _handleAddressMsg(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
static void _handleAddressMsg(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||||
static void _handleMsgComSendStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
static void _handleMsgComSendStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||||
static void _handleMsgComRecvStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
static void _handleMsgComRecvStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||||
|
static void _handleMsgMemStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||||
static void _handleMsgDevice(AQH_OBJECT *o, AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
static void _handleMsgDevice(AQH_OBJECT *o, AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||||
static void _handleMsgFlashReady(AQH_OBJECT *o, AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
static void _handleMsgFlashReady(AQH_OBJECT *o, AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg);
|
||||||
|
|
||||||
@@ -76,6 +78,7 @@ void AQH_NodeServer_NodeMsgToDb(AQH_OBJECT *o, const AQH_MESSAGE *msg)
|
|||||||
switch(msgType) {
|
switch(msgType) {
|
||||||
case AQH_MSG_TYPE_COMSENDSTATS: _handleMsgComSendStat(xo, msg); break;
|
case AQH_MSG_TYPE_COMSENDSTATS: _handleMsgComSendStat(xo, msg); break;
|
||||||
case AQH_MSG_TYPE_COMRECVSTATS: _handleMsgComRecvStat(xo, msg); break;
|
case AQH_MSG_TYPE_COMRECVSTATS: _handleMsgComRecvStat(xo, msg); break;
|
||||||
|
case AQH_MSG_TYPE_MEMSTATS: _handleMsgMemStat(xo, msg); break;
|
||||||
case AQH_MSG_TYPE_VALUE_REPORT: _handleMsgValue(xo, msg); break;
|
case AQH_MSG_TYPE_VALUE_REPORT: _handleMsgValue(xo, msg); break;
|
||||||
case AQH_MSG_TYPE_NEED_ADDRESS: _handleAddressMsg(xo, msg); break;
|
case AQH_MSG_TYPE_NEED_ADDRESS: _handleAddressMsg(xo, msg); break;
|
||||||
case AQH_MSG_TYPE_CLAIM_ADDRESS: _handleAddressMsg(xo, msg); break;
|
case AQH_MSG_TYPE_CLAIM_ADDRESS: _handleAddressMsg(xo, msg); break;
|
||||||
@@ -195,6 +198,30 @@ void _handleMsgComRecvStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void _handleMsgMemStat(AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg)
|
||||||
|
{
|
||||||
|
AQH_NODE_INFO *ni;
|
||||||
|
uint32_t uid;
|
||||||
|
|
||||||
|
uid=AQH_MemStatsMessage_GetUid(msg);
|
||||||
|
ni=_getOrCreateNodeAndUpdateUidAddr(xo, msg, uid);
|
||||||
|
if (ni==NULL) {
|
||||||
|
DBG_INFO(AQH_LOGDOMAIN, "Error handling message");
|
||||||
|
}
|
||||||
|
AQH_NodeInfo_SetStatsStackUsed(ni, AQH_MemStatsMessage_GetStackUsage(msg));
|
||||||
|
AQH_NodeInfo_SetStatsBuffersUsed(ni, AQH_MemStatsMessage_GetBuffersUsed(msg));
|
||||||
|
AQH_NodeInfo_SetStatsMaxBuffersUsed(ni, AQH_MemStatsMessage_GetMaxBuffersUsed(msg));
|
||||||
|
AQH_NodeInfo_SetStatsRecvNoBuffer(ni, AQH_MemStatsMessage_GetRecvNoBufferErrors(msg));
|
||||||
|
AQH_NodeInfo_SetStatsHeapUsed(ni, AQH_MemStatsMessage_GetHeapUsed(msg));
|
||||||
|
AQH_NodeInfo_SetStatsHeapFree(ni, AQH_MemStatsMessage_GetHeapFree(msg));
|
||||||
|
AQH_NodeInfo_SetStatsXramSize(ni, AQH_MemStatsMessage_GetXramSize(msg));
|
||||||
|
|
||||||
|
AQH_NodeDb_SetModified(xo->nodeDb);
|
||||||
|
_updateTimestampLastChange(ni);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void _handleMsgDevice(AQH_OBJECT *o, AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg)
|
void _handleMsgDevice(AQH_OBJECT *o, AQH_NODE_SERVER *xo, const AQH_MESSAGE *msg)
|
||||||
{
|
{
|
||||||
AQH_NODE_INFO *ni;
|
AQH_NODE_INFO *ni;
|
||||||
|
|||||||
@@ -250,17 +250,8 @@ AQHNODE_DEVICE *_readXmlDevice(GWEN_XMLNODE *deviceNode)
|
|||||||
AQHNODE_VALUE_LIST *valueList;
|
AQHNODE_VALUE_LIST *valueList;
|
||||||
|
|
||||||
valueList=_readXmlValueList(valuesNode);
|
valueList=_readXmlValueList(valuesNode);
|
||||||
if (valueList==NULL) {
|
if (valueList)
|
||||||
DBG_INFO(NULL, "here");
|
AQHNODE_Device_SetValueList(device, valueList);
|
||||||
AQHNODE_Device_free(device);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
AQHNODE_Device_SetValueList(device, valueList);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
DBG_INFO(NULL, "No <values> element");
|
|
||||||
AQHNODE_Device_free(device);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return device;
|
return device;
|
||||||
|
|||||||
@@ -983,8 +983,13 @@ void _forwardDataFromMemStatsMsgToBroker(AQH_NODE_SERVER *xo, const AQH_MESSAGE
|
|||||||
|
|
||||||
uid=AQH_MemStatsMessage_GetUid(msg);
|
uid=AQH_MemStatsMessage_GetUid(msg);
|
||||||
|
|
||||||
_publishInt( xo, uid, "mem/buffersUsed", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetBuffersUsed(msg));
|
_publishInt(xo, uid, "mem/buffersUsed", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetBuffersUsed(msg));
|
||||||
_publishInt( xo, uid, "mem/maxBuffersUsed", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetMaxBuffersUsed(msg));
|
_publishInt(xo, uid, "mem/maxBuffersUsed", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetMaxBuffersUsed(msg));
|
||||||
|
_publishInt(xo, uid, "mem/stackused", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetStackUsage(msg));
|
||||||
|
_publishInt(xo, uid, "mem/buffersused", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetBuffersUsed(msg));
|
||||||
|
_publishInt(xo, uid, "mem/heapused", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetHeapUsed(msg));
|
||||||
|
_publishInt(xo, uid, "mem/heapfree", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetHeapFree(msg));
|
||||||
|
_publishInt(xo, uid, "mem/xramsize", AQH_ValueModality_Stats, NULL, AQH_MemStatsMessage_GetXramSize(msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -176,13 +176,15 @@ void _printNode(const AQH_NODE_INFO *ni, int printAll)
|
|||||||
GWEN_Timestamp_GetHour(ts),
|
GWEN_Timestamp_GetHour(ts),
|
||||||
GWEN_Timestamp_GetMinute(ts),
|
GWEN_Timestamp_GetMinute(ts),
|
||||||
GWEN_Timestamp_GetSecond(ts));
|
GWEN_Timestamp_GetSecond(ts));
|
||||||
fprintf(stdout, "pkg out: %d, pkg in: %d, collisions: %d, busy: %d, crc: %d, io: %d\n",
|
fprintf(stdout, "pkg out: %d, pkg in: %d, busy: %d, crc: %d, io: %d, heap used: %d, heap free: %d, xram: %d\n",
|
||||||
AQH_NodeInfo_GetStatsPacketsOut(ni),
|
AQH_NodeInfo_GetStatsPacketsOut(ni),
|
||||||
AQH_NodeInfo_GetStatsPacketsIn(ni),
|
AQH_NodeInfo_GetStatsPacketsIn(ni),
|
||||||
AQH_NodeInfo_GetStatsCollisions(ni),
|
|
||||||
AQH_NodeInfo_GetStatsBusy(ni),
|
AQH_NodeInfo_GetStatsBusy(ni),
|
||||||
AQH_NodeInfo_GetStatsCrcErrors(ni),
|
AQH_NodeInfo_GetStatsCrcErrors(ni),
|
||||||
AQH_NodeInfo_GetStatsIoErrors(ni));
|
AQH_NodeInfo_GetStatsIoErrors(ni),
|
||||||
|
AQH_NodeInfo_GetStatsHeapUsed(ni),
|
||||||
|
AQH_NodeInfo_GetStatsHeapFree(ni),
|
||||||
|
AQH_NodeInfo_GetStatsXramSize(ni));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -248,6 +248,31 @@ AQH_DEVICE_LIST *AQH_DataClient_GetDevices(AQH_DATACLIENT *dc, const char *devic
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
AQH_DEVICE *AQH_DataClient_GetDeviceByName(AQH_DATACLIENT *dc, const char *deviceName)
|
||||||
|
{
|
||||||
|
if (deviceName && *deviceName) {
|
||||||
|
AQH_DEVICE_LIST *deviceList;
|
||||||
|
|
||||||
|
deviceList=AQH_DataClient_GetDevices(dc, deviceName);
|
||||||
|
if (deviceList) {
|
||||||
|
AQH_DEVICE *device;
|
||||||
|
|
||||||
|
device=AQH_Device_List_First(deviceList);
|
||||||
|
if (device) {
|
||||||
|
AQH_Device_List_Del(device);
|
||||||
|
AQH_Device_List_free(deviceList);
|
||||||
|
return device;
|
||||||
|
}
|
||||||
|
AQH_Device_List_free(deviceList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AQH_VALUE_LIST *AQH_DataClient_GetValues(AQH_DATACLIENT *dc, const char *deviceName, int modality)
|
AQH_VALUE_LIST *AQH_DataClient_GetValues(AQH_DATACLIENT *dc, const char *deviceName, int modality)
|
||||||
{
|
{
|
||||||
if (dc) {
|
if (dc) {
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ AQHOME_API int AQH_DataClient_Disconnect(AQH_DATACLIENT *dc);
|
|||||||
|
|
||||||
|
|
||||||
AQHOME_API AQH_DEVICE_LIST *AQH_DataClient_GetDevices(AQH_DATACLIENT *dc, const char *deviceName);
|
AQHOME_API AQH_DEVICE_LIST *AQH_DataClient_GetDevices(AQH_DATACLIENT *dc, const char *deviceName);
|
||||||
|
AQHOME_API AQH_DEVICE *AQH_DataClient_GetDeviceByName(AQH_DATACLIENT *dc, const char *deviceName);
|
||||||
AQHOME_API AQH_VALUE_LIST *AQH_DataClient_GetValues(AQH_DATACLIENT *dc, const char *deviceName, int modality);
|
AQHOME_API AQH_VALUE_LIST *AQH_DataClient_GetValues(AQH_DATACLIENT *dc, const char *deviceName, int modality);
|
||||||
|
|
||||||
AQHOME_API uint64_t AQH_DataClient_GetFirstData(AQH_DATACLIENT *dc, const char *valueName, uint64_t *dataPtr, uint64_t maxNum);
|
AQHOME_API uint64_t AQH_DataClient_GetFirstData(AQH_DATACLIENT *dc, const char *valueName, uint64_t *dataPtr, uint64_t maxNum);
|
||||||
|
|||||||
@@ -49,19 +49,26 @@
|
|||||||
#define AQH_IPCDATA_DEVICE_TAGS_MANUFACTURER 0x0a
|
#define AQH_IPCDATA_DEVICE_TAGS_MANUFACTURER 0x0a
|
||||||
#define AQH_IPCDATA_DEVICE_TAGS_TIMEOFCREATION 0x0b
|
#define AQH_IPCDATA_DEVICE_TAGS_TIMEOFCREATION 0x0b
|
||||||
|
|
||||||
#define AQH_IPCDATA_NODE_TAGS_BUSADDR 0x01 /* uint8_t */
|
#define AQH_IPCDATA_NODE_TAGS_BUSADDR 0x01 /* uint8_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_UID 0x02 /* uint32_t */
|
#define AQH_IPCDATA_NODE_TAGS_UID 0x02 /* uint32_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_MANUFACTURER 0x03 /* uint32_t */
|
#define AQH_IPCDATA_NODE_TAGS_MANUFACTURER 0x03 /* uint32_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_DEVICETYPE 0x04 /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_DEVICETYPE 0x04 /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_DEVICEVERSION 0x05 /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_DEVICEVERSION 0x05 /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_FIRMWAREVERSION 0x06 /* uint32_t */
|
#define AQH_IPCDATA_NODE_TAGS_FIRMWAREVERSION 0x06 /* uint32_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_LASTCHANGE 0x07 /* uint64_t */
|
#define AQH_IPCDATA_NODE_TAGS_LASTCHANGE 0x07 /* uint64_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_STATSPACKETSOUT 0x08 /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_STATSPACKETSOUT 0x08 /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_STATSPACKETSIN 0x09 /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_STATSPACKETSIN 0x09 /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_STATSCOLLISIONS 0x0a /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_STATSCOLLISIONS 0x0a /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_STATSBUSY 0x0b /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_STATSBUSY 0x0b /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_STATSCRCERRORS 0x0c /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_STATSCRCERRORS 0x0c /* uint16_t */
|
||||||
#define AQH_IPCDATA_NODE_TAGS_STATSIOERRORS 0x0d /* uint16_t */
|
#define AQH_IPCDATA_NODE_TAGS_STATSIOERRORS 0x0d /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSSTACKUSED 0x0e /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSBUFFERSUSED 0x0f /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSMAXBUFFERSUSED 0x10 /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSRECVNOBUFFER 0x11 /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSHEAPUSED 0x12 /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSHEAPFREE 0x13 /* uint16_t */
|
||||||
|
#define AQH_IPCDATA_NODE_TAGS_STATSXRAM 0x14 /* uint16_t */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -675,6 +682,13 @@ void _writeNodeInfoFieldsAsTagsToBuffer(const AQH_NODE_INFO *ni, GWEN_BUFFER *bu
|
|||||||
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSBUSY, AQH_NodeInfo_GetStatsBusy(ni), buf);
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSBUSY, AQH_NodeInfo_GetStatsBusy(ni), buf);
|
||||||
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSCRCERRORS, AQH_NodeInfo_GetStatsCrcErrors(ni), buf);
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSCRCERRORS, AQH_NodeInfo_GetStatsCrcErrors(ni), buf);
|
||||||
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSIOERRORS, AQH_NodeInfo_GetStatsIoErrors(ni), buf);
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSIOERRORS, AQH_NodeInfo_GetStatsIoErrors(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSSTACKUSED, AQH_NodeInfo_GetStatsStackUsed(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSBUFFERSUSED, AQH_NodeInfo_GetStatsBuffersUsed(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSMAXBUFFERSUSED, AQH_NodeInfo_GetStatsMaxBuffersUsed(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSRECVNOBUFFER, AQH_NodeInfo_GetStatsRecvNoBuffer(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSHEAPUSED, AQH_NodeInfo_GetStatsHeapUsed(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSHEAPFREE, AQH_NodeInfo_GetStatsHeapFree(ni), buf);
|
||||||
|
GWEN_Tag16_WriteUint16TagToBuffer(AQH_IPCDATA_NODE_TAGS_STATSXRAM, AQH_NodeInfo_GetStatsXramSize(ni), buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -789,6 +803,27 @@ AQH_NODE_INFO *_readNodeInfoFromTag(const uint8_t *ptr, uint32_t len)
|
|||||||
case AQH_IPCDATA_NODE_TAGS_STATSIOERRORS:
|
case AQH_IPCDATA_NODE_TAGS_STATSIOERRORS:
|
||||||
AQH_NodeInfo_SetStatsIoErrors(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
AQH_NodeInfo_SetStatsIoErrors(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
break;
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSSTACKUSED:
|
||||||
|
AQH_NodeInfo_SetStatsStackUsed(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSBUFFERSUSED:
|
||||||
|
AQH_NodeInfo_SetStatsBuffersUsed(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSMAXBUFFERSUSED:
|
||||||
|
AQH_NodeInfo_SetStatsMaxBuffersUsed(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSRECVNOBUFFER:
|
||||||
|
AQH_NodeInfo_SetStatsRecvNoBuffer(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSHEAPUSED:
|
||||||
|
AQH_NodeInfo_SetStatsHeapUsed(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSHEAPFREE:
|
||||||
|
AQH_NodeInfo_SetStatsHeapFree(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
|
case AQH_IPCDATA_NODE_TAGS_STATSXRAM:
|
||||||
|
AQH_NodeInfo_SetStatsXramSize(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
DBG_INFO(AQH_LOGDOMAIN, "Unhandled tag typ %d (%02x)", tagType, tagType);
|
DBG_INFO(AQH_LOGDOMAIN, "Unhandled tag typ %d (%02x)", tagType, tagType);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -134,6 +134,56 @@
|
|||||||
<flags></flags>
|
<flags></flags>
|
||||||
</member>
|
</member>
|
||||||
|
|
||||||
|
<member name="statsStackUsed" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
<member name="statsBuffersUsed" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
<member name="statsMaxBuffersUsed" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
<member name="statsRecvNoBuffer" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
<member name="statsHeapUsed" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
<member name="statsHeapFree" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
<member name="statsXramSize" type="uint32_t" maxlen="8">
|
||||||
|
<default>0</default>
|
||||||
|
<preset>0</preset>
|
||||||
|
<access>public</access>
|
||||||
|
<flags></flags>
|
||||||
|
</member>
|
||||||
|
|
||||||
|
|
||||||
<member name="timestampLastChange" type="gwen_timestamp" maxlen="8">
|
<member name="timestampLastChange" type="gwen_timestamp" maxlen="8">
|
||||||
<default>NULL</default>
|
<default>NULL</default>
|
||||||
<preset>NULL</preset>
|
<preset>NULL</preset>
|
||||||
|
|||||||
Reference in New Issue
Block a user