示例#1
0
 public Connection(string ip, int brokerPort, int listenPort, bool dontFragment = false)
 {
     _udpconn = new UdpCommunication();
     _udpconn.SetUpUdpComponent(10, 500, dontFragment);
     _listenPort = listenPort;
     _ip         = ip;
     _brokerPort = brokerPort;
 }
示例#2
0
文件: Clock.cs 项目: lanicon/HarakaMQ
        private TimeSpan T4; // Time when delay request message is received at Master

        public Clock(IUdpCommunication udpCommunication)
        {
            _stopwatch        = new Stopwatch();
            _udpCommunication = udpCommunication;
            _offsetTimeSpan   = TimeSpan.Zero;
            _refDateTimeNow   = DateTime.Now.ToUniversalTime().TimeOfDay;
            _stopwatch.Start();
        }
示例#3
0
 public Model(IUdpCommunication udpComm, int listenPort, string ip, int brokerPort)
 {
     _listenPort           = listenPort;
     _comm                 = udpComm;
     consumers             = new List <Tuple <IBasicConsumer, string> >();
     _comm.PublishPackage += OnMessageReceived;
     _comm.Listen(listenPort);
     _comm.SetBrokerInformation(ip, brokerPort);
 }
示例#4
0
 public SmartQueue(IUdpCommunication udpComm, IPersistenceLayer db, IJsonConfigurator jsonConfigurator, Topic topic)
 {
     _udpComm          = udpComm;
     _topic            = topic;
     _db               = db;
     _jsonConfigurator = jsonConfigurator;
     _db.EventAdded   += EventAdded;
     // Start Consuming messages if any
     if (_topic.Events.Count > 0)
     {
         EventAdded(this, EventArgs.Empty);
     }
 }
示例#5
0
 private static void Initialize()
 {
     Debug.WriteLine("Initializing HarakaMQ");
     Setup.Initialize();
     _udpCommunication = Setup.container.GetInstance <IUdpCommunication>();
     _udpCommunication.SetUpUdpComponent(10, 2000, false, Setup.container.GetInstance <IJsonConfigurator>().GetSettings().Brokers.Select(x => x.Ipaddress + x.Port).ToArray());
     _udpCommunication.QueueDeclare       += QueueDeclareMessageRecieved;
     _udpCommunication.PublishPackage     += PublishMessageRecieved;
     _udpCommunication.Subscribe          += SubsribeMessageRecieved;
     _udpCommunication.AntiEntropyMessage += AntiEntropyMessageMessageReceived;
     _udpCommunication.Listen(Setup.container.GetInstance <IJsonConfigurator>().GetSettings().BrokerPort);
     _gossip = Setup.container.GetInstance <IGossip>();
     _gossip.StartGossip();
 }
示例#6
0
        public PingPong(IUdpCommunication udpCommunication, ISchedular schedular, IAntiEntropy antiEntropy, IJsonConfigurator jsonConfigurator, IClock clock)
        {
            _schedular        = schedular;
            _antiEntropy      = antiEntropy;
            _jsonConfigurator = jsonConfigurator;
            _clock            = clock;
            _udpCommunication = udpCommunication;

            _latencyInMs = _jsonConfigurator.GetSettings().AntiEntropyMilliseonds / 10; //Todo: find real latency

            foreach (var broker in _jsonConfigurator.GetSettings().Brokers)
            {
                _brokers.Add(new BrokerInformation
                {
                    Active        = true,
                    PrimaryNumber = broker.PrimaryNumber,
                    Port          = broker.Port,
                    Ipadress      = broker.Ipadress
                });
            }
        }