Py_INCREF(PyExc_PingAddHostError);
PyModule_AddObject(m, "PingAddHostError", PyExc_PingAddHostError);
+ PyExc_PingNoReplyError = PyErr_NewException("_collecty.PingNoReplyError", NULL, NULL);
+ Py_INCREF(PyExc_PingNoReplyError);
+ PyModule_AddObject(m, "PingNoReplyError", PyExc_PingNoReplyError);
+
Py_INCREF(&SensorType);
PyModule_AddObject(m, "Sensor", (PyObject*)&SensorType);
/* ping */
PyObject* PyExc_PingError;
PyObject* PyExc_PingAddHostError;
+PyObject* PyExc_PingNoReplyError;
typedef struct {
PyObject_HEAD
}
if (self->stats.packets_rcvd == 0) {
- PyErr_Format(PyExc_PingError, "No replies received from %s", self->host);
+ PyErr_Format(PyExc_PingNoReplyError, "No replies received from %s", self->host);
return NULL;
}
result += (None, None, None)
continue
+ except collecty._collecty.PingNoReplyError:
+ # Unknown but 100% loss
+ result += (None, None, 1)
+ continue
+
except collecty._collecty.PingError as e:
self.log.warning(_("Could not run latency check for %(host)s: %(msg)s") \
% { "host" : self.hostname, "msg" : e })