diff --git a/lib/globals.dart b/lib/globals.dart index 5c09d05..14e3269 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -4,15 +4,17 @@ import "package:nt4/nt4.dart"; NT4Client ntClient = NT4Client(serverBaseAddress: '10.5.78.2', onConnect: () { print("NT4 Connected"); }, onDisconnect: () { print("NT4 Disconnected"); }); -List nt4Subscriptions = []; +Map nt4Subscriptions = {}; NT4Subscription subscribe(String topic){ - NT4Subscription subscrip = ntClient.subscribe(topic, NT4SubscriptionOptions()); + if (!nt4Subscriptions.containsKey(topic)) + { + NT4Subscription subscrip = ntClient.subscribe(topic, NT4SubscriptionOptions()); + nt4Subscriptions[topic] = subscrip; + } - nt4Subscriptions.add(subscrip); - - return subscrip; + return nt4Subscriptions[topic]!; } List nt4Topics = [];