def _process_received_message(self, msg): if msg is None: pass elif isinstance(msg, ua.Message): self._call_callback(msg.request_id(), msg.body()) elif isinstance(msg, ua.Acknowledge): self._call_callback(0, msg) elif isinstance(msg, ua.ErrorMessage): self.logger.fatal("Received an error: %r", msg) self._call_callback(0, ua.UaStatusCodeError(msg.Error.value)) else: raise ua.UaError(f"Unsupported message type: {msg}")
async def delete_reference(self, target, reftype, forward=True, bidirectional=True): """ Delete given node's references from address space """ known_refs = await self.get_references(reftype, includesubtypes=False) targetid = _to_nodeid(target) for r in known_refs: if r.NodeId == targetid and r.IsForward == forward: rdesc = r break else: raise ua.UaStatusCodeError(ua.StatusCodes.BadNotFound) ditem = self._fill_delete_reference_item(rdesc, bidirectional) (await self.server.delete_references([ditem]))[0].check()