44 #include "rdk_moca_hal.h"
47 #define QUERY_INTERVAL 5
51 static time_t firstExTime = 0;
54 X_RDKCENTRAL_COM_MeshTable::X_RDKCENTRAL_COM_MeshTable(
int _dev_id):
59 bCalledTxNodeID(false),
60 bCalledRxNodeID(false),
61 bCalledPHYTxRate(false)
66 GHashTable *X_RDKCENTRAL_COM_MeshTable::ifHash = NULL;
78 ifHash = g_hash_table_new(NULL, NULL);
86 g_hash_table_insert(ifHash, (gpointer)dev_id, instance);
90 RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,
"Caught exception, not able create X_RDKCENTRAL_COM_MeshTable instance..\n");
103 void X_RDKCENTRAL_COM_MeshTable::closeAllInstances() {}
105 GList* X_RDKCENTRAL_COM_MeshTable::getAllAssociateDevs() {
115 bool InstanceToIndex(
unsigned int instanceNumber,
unsigned int *_i,
unsigned int *_j) {
117 int nodeInstance = 1;
119 time_t currExTime = time (NULL);
120 if ((currExTime - firstExTime ) > QUERY_INTERVAL) {
124 if (ret == RMH_SUCCESS) {
125 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s:%u] RMH_Network_GetTxUnicastPhyRate PHY rates refreshed\n", __FUNCTION__, __LINE__,
RMH_ResultToString(ret));
126 firstExTime = time (NULL);
128 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%u] RMH_Network_GetTxUnicastPhyRate failed with result %s. Not updating cache.\n", __FUNCTION__, __LINE__,
RMH_ResultToString(ret));
130 RMH_Network_GetBondedConnections(rmh, &gResBondedConn);
134 RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,
"[%s:%u] Failed in RMH_Initialize. Not updating cache.\n", __FUNCTION__, __LINE__);
138 for (i = 0; i < RMH_MAX_MOCA_NODES; i++) {
139 if (gResponse.nodePresent[i]) {
140 for (j = 0; j < RMH_MAX_MOCA_NODES; j++) {
141 if (i!=j && gResponse.nodePresent[j]) {
142 if (instanceNumber == nodeInstance++ ) {
159 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entry \n", __FILE__, __FUNCTION__);
161 if (InstanceToIndex(instanceNumber, &i, &j)) {
162 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s:%s] Index %d : MeshTxNode %d : MeshRxNode %d : MeshPHYTxRate %d \n", \
163 __FILE__, __FUNCTION__, instanceNumber, i, j, gResponse.nodeValue[i].nodeValue[j]);
165 stMsgData->
paramtype = hostIf_UnsignedIntType;
169 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] failed to look up instance %d!\n", __FILE__, __FUNCTION__, instanceNumber);
173 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exit \n", __FILE__, __FUNCTION__);
182 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entry \n", __FILE__, __FUNCTION__);
184 if (InstanceToIndex(instanceNumber, &i, &j)) {
185 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s:%s] Index %d : MeshTxNode %d : MeshRxNode %d : MeshPHYTxRate %d \n", \
186 __FILE__, __FUNCTION__, instanceNumber, i, j, gResponse.nodeValue[i].nodeValue[j]);
188 stMsgData->
paramtype = hostIf_UnsignedIntType;
192 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] failed to look up instance %d!\n", __FILE__, __FUNCTION__, instanceNumber);
196 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exit \n", __FILE__, __FUNCTION__);
205 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entry \n", __FILE__, __FUNCTION__);
207 if (InstanceToIndex(instanceNumber, &i, &j)) {
208 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s:%s] Index %d : MeshTxNode %d : MeshRxNode %d : MeshPHYTxRate %d \n", \
209 __FILE__, __FUNCTION__, instanceNumber, i, j, gResponse.nodeValue[i].nodeValue[j]);
211 stMsgData->
paramtype = hostIf_UnsignedIntType;
215 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] failed to look up instance %d!\n", __FILE__, __FUNCTION__, instanceNumber);
219 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exit \n", __FILE__, __FUNCTION__);
223 int X_RDKCENTRAL_COM_MeshTable::get_BondedChannel(
HOSTIF_MsgData_t *stMsgData,
unsigned int instanceNumber,
bool *pChanged) {
227 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Entry \n", __FILE__, __FUNCTION__);
229 if (InstanceToIndex(instanceNumber, &i, &j)) {
230 RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,
"[%s:%s] Index %d : MeshTxNode %d : MeshRxNode %d : MeshPHYTxRate %d \n", \
231 __FILE__, __FUNCTION__, instanceNumber, i, j, gResponse.nodeValue[i].nodeValue[j]);
233 stMsgData->
paramtype = hostIf_UnsignedIntType;
237 RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,
"[%s:%s] failed to look up instance %d!\n", __FILE__, __FUNCTION__, instanceNumber);
241 RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,
"[%s:%s] Exit \n", __FILE__, __FUNCTION__);