Beispiel #1
0
        // methods
        public void run()
        {
            Logger.getInstance().log("Running", LOGGING_NAME, Logger.Level.INFO);

            UdpSenderImpl sender = UdpSenderImpl.getInstance();

            try {
            // broadcast hello's
            while(true)
            {
                HelloMessage hm = new HelloMessage(DatabaseStateImpl.getInstance().getTableVersions(), listeningPort);
                sender.sendToAll(hm);

                Thread.Sleep(BROADCAST_INTERVAL_MS);
            }
            }
            catch (ThreadInterruptedException) {
            Logger.getInstance().log("InterruptedException", LOGGING_NAME, Logger.Level.INFO);
            }
            Thread.CurrentThread.Abort();
        }
Beispiel #2
0
        public void processHelloMessage(HelloMessage msg)
        {
            IPEndPoint node = new IPEndPoint(
                    msg.getSender().Address,
                    msg.ListeningPort
            );

            if (node.Equals(me))
                return;

            Logger.getInstance().log(
                    "Processing hello from - " + node.ToString() + " : " + msg.toString(),
                    LOGGING_NAME,
                    Logger.Level.INFO);

            TcpSender.getInstance().AddServerNode(node, queue);
            updateNodeSyncInfo(node, msg.Tables);
        }