Пример #1
0
        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);
        }
Пример #2
0
        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);
        }