INT32 _pmdCoordProcessor::processMsg( MsgHeader *msg, rtnContextBuf &contextBuff, INT64 &contextID, BOOLEAN &needReply ) { INT32 rc = SDB_OK ; ossMemset( &_replyHeader, 0, sizeof( _replyHeader ) ) ; _replyHeader.header.messageLength = sizeof( MsgOpReply ) ; _replyHeader.header.opCode = MAKE_REPLY_TYPE( msg->opCode ) ; _replyHeader.header.requestID = msg->requestID ; _replyHeader.header.routeID.value = pmdGetNodeID().value ; _replyHeader.header.TID = msg->TID ; _replyHeader.contextID = -1 ; _replyHeader.flags = SDB_OK ; _replyHeader.numReturned = 0 ; _replyHeader.startFrom = 0 ; rc = _processCoordMsg( msg, _replyHeader, contextBuff ) ; if ( SDB_COORD_UNKNOWN_OP_REQ == rc ) { contextBuff.release() ; rc = _pmdDataProcessor::processMsg( msg, contextBuff, contextID, needReply ) ; } else if ( SDB_OK == rc ) { contextID = _replyHeader.contextID ; } if ( rc ) { if ( SDB_APP_INTERRUPT == rc ) { PD_LOG ( PDINFO, "Agent is interrupt" ) ; } else if ( SDB_DMS_EOC != rc ) { PD_LOG ( PDERROR, "Error processing Agent request, rc=%d", rc ) ; } } return rc ; }