public PublishLoadBalancer()

in rocketmq-client-csharp/PublishLoadBalancer.cs [25:46]


        public PublishLoadBalancer(TopicRouteData route)
        {
            this._messageQueues = new List<rmq::MessageQueue>();
            foreach (var messageQueue in route.MessageQueues)
            {
                if (rmq::Permission.Unspecified == messageQueue.Permission)
                {
                    continue;
                }

                if (rmq::Permission.Read == messageQueue.Permission)
                {
                    continue;
                }

                this._messageQueues.Add(messageQueue);
            }

            this._messageQueues.Sort(Utilities.CompareMessageQueue);
            Random random = new Random();
            this._roundRobinIndex = random.Next(0, this._messageQueues.Count);
        }