private void GetNsqdInformation(ProducerInformation nsqdNode)
        {
            var httpUri = string.Format("http://{0}:{1}", nsqdNode.BroadcastAddress, nsqdNode.HttpPort);
            var client  = new NsqdHttpClient(httpUri, TimeSpan.FromSeconds(10));
            var stats   = client.GetStats();
            var topics  = new List <TopicModel>(Topics);

            foreach (var topic in topics)
            {
                var nsqdTopic = stats.Topics.SingleOrDefault(p => p.TopicName == topic.Topic);
                //int? messageCount = nsqdTopic == null ? (int?)null : nsqdTopic.MessageCount;
                topic.SetNsqdStats(nsqdNode, nsqdTopic);
            }
        }
            internal void SetNsqdStats(ProducerInformation nsqdNode, NsqdStatsTopic nsqdTopic)
            {
                if (nsqdNode == null)
                {
                    throw new ArgumentNullException("nsqdNode");
                }

                lock (_nsqdStatsLocker)
                {
                    string key = string.Format("{0}:{1}", nsqdNode.BroadcastAddress, nsqdNode.HttpPort);
                    _nsqdStats[key] = nsqdTopic;
                }

                CalculateStats();
            }