public async Task <ServiceReply> SubscribeRegex(string regex, Action <TopicDataRecord> function) { //Debug.Log("Subscribing to topic: " + topic + " (backend), subscribeRepeatedField: " + subscribeTopics.Count); ServiceRequest topicSubscription = new ServiceRequest { Topic = DEFAULT_TOPICS.SERVICES.TOPIC_SUBSCRIPTION, TopicSubscription = new TopicSubscription { ClientId = clientSpecification.Id, SubscribeTopicRegexp = regex } }; ServiceReply subReply = await CallService(topicSubscription); if (subReply.Error != null) { Debug.LogError("subReply Error! Error msg: " + subReply.Error.ToString()); return(null); } // adding callback function to dictionary netmqTopicDataClient.AddTopicDataRegexCallback(regex, function); return(subReply); }
public async Task <bool> SubscribeRegex(string regex, Action <TopicDataRecord> callback) { if (callback == null) { Debug.LogError("SubscribeRegex() - callback is NULL!"); return(false); } if (this.netmqTopicDataClient.IsSubscribed(regex)) { netmqTopicDataClient.AddTopicDataRegexCallback(regex, callback); return(true); } //Debug.Log("Subscribing to topic: " + topic + " (backend), subscribeRepeatedField: " + subscribeTopics.Count); ServiceRequest subscriptionRequest = new ServiceRequest { Topic = UbiiConstants.Instance.DEFAULT_TOPICS.SERVICES.TOPIC_SUBSCRIPTION, TopicSubscription = new TopicSubscription { ClientId = clientSpecification.Id } }; subscriptionRequest.TopicSubscription.SubscribeTopicRegexp.Add(regex); ServiceReply subReply = await CallService(subscriptionRequest); if (subReply.Error != null) { Debug.LogError("subReply Error! Error msg: " + subReply.Error.ToString()); return(false); } // adding callback function to dictionary netmqTopicDataClient.AddTopicDataRegexCallback(regex, callback); return(true); }