@@ 69-79 (lines=11) @@ | ||
66 | sub.stop() |
|
67 | res.append(ua.StatusCode()) |
|
68 | return res |
|
69 | ||
70 | def publish(self, acks): |
|
71 | self.logger.info("publish request with acks %s", acks) |
|
72 | with self._lock: |
|
73 | for subid, sub in self.subscriptions.items(): |
|
74 | sub.publish([ack.SequenceNumber for ack in acks if ack.SubscriptionId == subid]) |
|
75 | ||
76 | def create_monitored_items(self, params): |
|
77 | self.logger.info("create monitored items") |
|
78 | with self._lock: |
|
79 | if params.SubscriptionId not in self.subscriptions: |
|
80 | res = [] |
|
81 | for _ in params.ItemsToCreate: |
|
82 | response = ua.MonitoredItemCreateResult() |
|
@@ 57-67 (lines=11) @@ | ||
54 | except KeyError: |
|
55 | raise utils.ServiceError(ua.StatusCodes.BadSubscriptionIdInvalid) |
|
56 | ||
57 | def delete_subscriptions(self, ids): |
|
58 | self.logger.info("delete subscriptions: %s", ids) |
|
59 | res = [] |
|
60 | for i in ids: |
|
61 | with self._lock: |
|
62 | if i not in self.subscriptions: |
|
63 | res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) |
|
64 | else: |
|
65 | sub = self.subscriptions.pop(i) |
|
66 | sub.stop() |
|
67 | res.append(ua.StatusCode()) |
|
68 | return res |
|
69 | ||
70 | def publish(self, acks): |
|
@@ 81-90 (lines=10) @@ | ||
78 | with self._lock: |
|
79 | if params.SubscriptionId not in self.subscriptions: |
|
80 | res = [] |
|
81 | for _ in params.ItemsToCreate: |
|
82 | response = ua.MonitoredItemCreateResult() |
|
83 | response.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) |
|
84 | res.append(response) |
|
85 | return res |
|
86 | return self.subscriptions[params.SubscriptionId].monitored_item_srv.create_monitored_items(params) |
|
87 | ||
88 | def modify_monitored_items(self, params): |
|
89 | self.logger.info("modify monitored items") |
|
90 | with self._lock: |
|
91 | if params.SubscriptionId not in self.subscriptions: |
|
92 | res = [] |
|
93 | for _ in params.ItemsToModify: |