mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 03:49:13 +03:00
Выносим вызов хука onRegEvent в общую очередь разборки событий
Находился ранее в прямом вызове во время регистрации события, что не верно с точки зрения распределения нагрузки и не захватывало события из других источников, например, MQTT.
This commit is contained in:
@@ -51,10 +51,16 @@ void handleEvent() {
|
|||||||
if (eventBuf.length()) {
|
if (eventBuf.length()) {
|
||||||
String event = selectToMarker(eventBuf, ",");
|
String event = selectToMarker(eventBuf, ",");
|
||||||
SerialPrint("i", F("EVENT"), event);
|
SerialPrint("i", F("EVENT"), event);
|
||||||
|
String enentIdName = selectToMarker(event, " ");
|
||||||
|
|
||||||
|
// распространяем событие через хуки
|
||||||
|
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||||
|
(*it)->onRegEvent(findIoTItem(enentIdName));
|
||||||
|
}
|
||||||
|
|
||||||
//здесь нужно пропускать данное событие через условия сценариев
|
//здесь нужно пропускать данное событие через условия сценариев
|
||||||
//и если оно есть в условии сценария и совподает
|
//и если оно есть в условии сценария и совподает
|
||||||
iotScen.exec(selectToMarker(event, " "));
|
iotScen.exec(enentIdName);
|
||||||
|
|
||||||
eventBuf = deleteBeforeDelimiter(eventBuf, ",");
|
eventBuf = deleteBeforeDelimiter(eventBuf, ",");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,11 +101,6 @@ void IoTItem::regEvent(const String& value, const String& consoleInfo, bool erro
|
|||||||
if (genEvent) {
|
if (genEvent) {
|
||||||
generateEvent(_id, value);
|
generateEvent(_id, value);
|
||||||
|
|
||||||
// распространяем событие через хуки
|
|
||||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
|
||||||
(*it)->onRegEvent(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
// отправка события другим устройствам в сети если не было ошибки
|
// отправка события другим устройствам в сети если не было ошибки
|
||||||
if (_global && !error) {
|
if (_global && !error) {
|
||||||
String json = "{}";
|
String json = "{}";
|
||||||
|
|||||||
Reference in New Issue
Block a user