extends Node class YeMSInfo extends unit.Unit: static var json_conv: = JSON.new() var online_timeout: float = 5000 ## Должен быть равен наибольшему времени дотоверности из всех кластеров var info: = Dictionary() func parse(data: PackedByteArray, now_tick: int): self.rx_tick = now_tick if not online: online = true emit_signal('line_changed', self) var utf8_data: = data.get_string_from_utf8() if Error.OK == json_conv.parse(utf8_data): info.merge(json_conv.get_data(), true) emit_signal('data_received', self) else: var msg = json_conv.get_error_message() emit_signal('parse_error', self, msg) func process(now_tick: int): if online and ((now_tick - rx_tick) > online_timeout): online = false emit_signal('line_changed', self) return Error.ERR_BUSY