public string Subscribe(string uid, WirehomeDictionary filter, Action <MessageBusMessage> callback) { if (filter == null) { throw new ArgumentNullException(nameof(filter)); } if (callback == null) { throw new ArgumentNullException(nameof(callback)); } if (string.IsNullOrEmpty(uid)) { uid = Guid.NewGuid().ToString("D"); } var subscriber = new MessageBusSubscriber(uid, filter, callback, _logger); lock (_subscribers) { _subscribers[uid] = subscriber; } return(uid); }
public string Subscribe(string uid, IDictionary <object, object> filter, Action <IDictionary <object, object> > callback) { if (filter == null) { throw new ArgumentNullException(nameof(filter)); } if (callback == null) { throw new ArgumentNullException(nameof(callback)); } if (string.IsNullOrEmpty(uid)) { uid = Guid.NewGuid().ToString("D"); } lock (_subscribers) { _subscribers[uid] = new MessageBusSubscriber(uid, filter, callback, _logger); } return(uid); }