def _trigger_event(self, event, mid): if mid not in self._monitored_items: self.logger.debug("Could not find monitored items for id %s for event %s in subscription %s", mid, event, self) return mdata = self._monitored_items[mid] if not mdata.where_clause_evaluator.eval(event): self.logger.debug("Event does not fit WhereClause, not generating event", mid, event, self) return fieldlist = ua.EventFieldList() fieldlist.ClientHandle = mdata.client_handle fieldlist.EventFields = self._get_event_fields(mdata.mfilter, event) self.isub.enqueue_event(mid, fieldlist, mdata.parameters.RevisedQueueSize)
def _trigger_event(self, event, mid): if mid not in self._monitored_items: self.logger.debug("Could not find monitored items for id %s for event %s in subscription %s", mid, event, self) return mdata = self._monitored_items[mid] if not mdata.where_clause_evaluator.eval(event): self.logger.info("%s, %s, Event %s does not fit WhereClause, not generating event", self, mid, event) return fieldlist = ua.EventFieldList() fieldlist.ClientHandle = mdata.client_handle fieldlist.EventFields = event.to_event_fields(mdata.filter.SelectClauses) self.isub.enqueue_event(mid, fieldlist, mdata.queue_size)
def trigger_event(self, event): with self._lock: if not event.SourceNode in self._monitored_events: self.logger.debug("%s has no subscription for events %s from node: %s", self, event, event.SourceNode) return False self.logger.debug("%s has subscription for events %s from node: %s", self, event, event.SourceNode) mid = self._monitored_events[event.SourceNode] if not mid in self._monitored_items: self.logger.debug("Could not find monitored items for id %s for event %s in subscription %s", mid, event, self) return False mdata = self._monitored_items[mid] fieldlist = ua.EventFieldList() fieldlist.ClientHandle = mdata.client_handle fieldlist.EventFields = self._get_event_fields(mdata.parameters.FilterResult, event) self.isub.enqueue_event(mid, fieldlist, mdata.parameters.RevisedQueueSize) return True