Пример #1
0
        public void updateNodeInCloud(String row_data)
        {
            IPAddress ip;
            int       port;

            try
            {
                NameValueCollection node_data = HttpUtility.ParseQueryString(row_data);
                ip   = IPAddress.Parse(node_data[xbs_cloudlist_getparameters.NODEIP]);
                port = int.Parse(node_data[xbs_cloudlist_getparameters.NODEPORT]);
            }
            catch (Exception e)
            {
                xbs_messages.addInfoMessage("!! Error getting updating node data: " + e.Message, xbs_message_sender.CLOUDLIST, xbs_message_type.ERROR);
                return;
            }
            xbs_node_list node_list = xbs_node_list.getInstance();

            if (node_list != null)
            {
                xbs_node node = node_list.findNode(ip, port);
                if (node == null)
                {
                    node = new xbs_node(ip, port);
                    if (!node_list.local_node.Equals(node))
                    {
#if DEBUG
                        xbs_messages.addDebugMessage(" x found new node in cloudlist update: " + node, xbs_message_sender.CLOUDLIST);
#endif
                        node_list.tryAddingNode(node, current_cloudname);
                    }
                }
            }
        }
Пример #2
0
        public void dispatch_in_msg(ref xbs_udp_message udp_msg)
        {
            xbs_node tmp_node     = null;
            xbs_node sending_node = node_list.findNode(udp_msg.src_ip, udp_msg.src_port);

# if DEBUG
            if (udp_msg.msg_type != xbs_node_message_type.PING && udp_msg.msg_type != xbs_node_message_type.PONG)