int CSNMPMessage::ResendMessage() { if (m_received) { // Don't bother to resend if we already have the response SetSendTime(); return SNMP_CLASS_SUCCESS; } if (m_target->get_retry() <= 0) { // This message has timed out Callback(SNMP_CLASS_TIMEOUT); // perform callback with the error return SNMP_CLASS_TIMEOUT; } m_target->set_retry(m_target->get_retry() - 1); SetSendTime(); int status = send_snmp_request(m_socket, m_rawPdu, m_rawPduLen, *m_address); if (status != 0) return SNMP_CLASS_TL_FAILED; return SNMP_CLASS_SUCCESS; }
int CSNMPMessage::ResendMessage() { if (m_received) { // Don't bother to resend if we already have the response SetSendTime(); return SNMP_CLASS_SUCCESS; } LOG_BEGIN(DEBUG_LOG | 10); LOG("MsgQueue: Message (msg id) (req id) (info)"); #ifdef _SNMPv3 LOG(m_pdu.get_message_id()); #endif LOG(m_pdu.get_request_id()); LOG((m_target->get_retry() <= 0) ? "TIMEOUT" : "RESEND"); LOG_END; if (m_target->get_retry() <= 0) { // This message has timed out Callback(SNMP_CLASS_TIMEOUT); // perform callback with the error return SNMP_CLASS_TIMEOUT; } m_target->set_retry(m_target->get_retry() - 1); SetSendTime(); int status = send_snmp_request(m_socket, m_rawPdu, m_rawPduLen, *m_address); if (status != 0) return SNMP_CLASS_TL_FAILED; return SNMP_CLASS_SUCCESS; }