Ejemplo n.º 1
0
        //------------------------------------------------------------------------------------------------------------------------
        public void Add(TKey key, TValue value)
        {
            lock (locker)
            {
                if (!InternalObject.ContainsKey(key))
                {
                    InternalObject.Add(key, new ListTS <TValue>());
                }

                InternalObject[key].Add(value);
            }
        }
Ejemplo n.º 2
0
        //------------------------------------------------------------------------------------------------------------------------
        public bool Add(TKey key, TValue value)
        {
            lock (locker)
            {
                if (!InternalObject.ContainsKey(key))
                {
                    InternalObject.Add(key, new HashSetTS <TValue>());
                }

                return(InternalObject[key].Add(value));
            }
        }
Ejemplo n.º 3
0
        //------------------------------------------------------------------------------------------------------------------------
        void _recAdd(string[] elements, TKey key, int index)
        {
            //check
            if (elements == null || elements.Length == 0)
            {
                return;
            }

            //check if index is last element
            if (index >= elements.Length)
            {
                //add to keys
                Keys.Add(key);
            }
            else if (index == elements.Length - 1 && (elements[index] == "#" || elements[index] == "+"))
            {
                //add to promiscious keys
                PromiscuousKeys.Add(key);
            }
            else
            {
                //add on proper list
                MqttTopicNode <TKey> node;
                lock (Children)
                {
                    node = Children.TryGetOrDefault(elements[index]);
                    if (node == null)
                    {
                        Children.Add(elements[index], node = new MqttTopicNode <TKey>()
                        {
                            ParentNode = this, TopicNodeId = elements[index]
                        });
                    }
                }
                //continue recursion
                node._recAdd(elements, key, index + 1);
            }
        }