nodes: improved handling of memstat messages.
This commit is contained in:
@@ -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)
|
||||
{
|
||||
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 *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 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_TIMEOFCREATION 0x0b
|
||||
|
||||
#define AQH_IPCDATA_NODE_TAGS_BUSADDR 0x01 /* uint8_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_UID 0x02 /* 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_DEVICEVERSION 0x05 /* uint16_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_FIRMWAREVERSION 0x06 /* uint32_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_LASTCHANGE 0x07 /* uint64_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_STATSPACKETSOUT 0x08 /* 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_STATSBUSY 0x0b /* 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_BUSADDR 0x01 /* uint8_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_UID 0x02 /* 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_DEVICEVERSION 0x05 /* uint16_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_FIRMWAREVERSION 0x06 /* uint32_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_LASTCHANGE 0x07 /* uint64_t */
|
||||
#define AQH_IPCDATA_NODE_TAGS_STATSPACKETSOUT 0x08 /* 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_STATSBUSY 0x0b /* 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_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_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_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:
|
||||
AQH_NodeInfo_SetStatsIoErrors(ni, GWEN_Tag16_GetTagDataAsUint16(tag, 0));
|
||||
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:
|
||||
DBG_INFO(AQH_LOGDOMAIN, "Unhandled tag typ %d (%02x)", tagType, tagType);
|
||||
break;
|
||||
|
||||
@@ -134,6 +134,56 @@
|
||||
<flags></flags>
|
||||
</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">
|
||||
<default>NULL</default>
|
||||
<preset>NULL</preset>
|
||||
|
||||
Reference in New Issue
Block a user