Exemple #1
0
 private void NetworkPeerUnaccessibleEventHandler(object sender, NetworkPeerChangedEventArgs e)
 {
     if (this.ManagerState == ManagerStateEnum.Started)
     {
         FindService();
     }
 }
Exemple #2
0
        internal void wrapper_NetworkPeerDiscovered(object sender, NetworkPeerChangedEventArgs e)
        {
            if (InvokeRequired)
            {
                Discovered d = new Discovered(wrapper_NetworkPeerDiscovered);
                ((MasterForm)d.Target).Invoke(d, new object[] { sender, e });
                return;
            }

            Wrapper wrapper = (Wrapper)sender;

            LOGGER.Info("NetworkPeerDiscovered, HostId: " + wrapper.NetworkManager.Localhost.Id + ", Count: " + e.NetworkPeers.Count);

            TreeView tv = mTreeViewsById[wrapper.Id];
            ICollection <NetworkContext> contexts = wrapper.KnownNetworkContexts;
            int rootIndex = 0;

            foreach (NetworkContext nc in contexts)
            {
                TreeNode rootNode = null;
                if (tv.Nodes.Count <= rootIndex || !tv.Nodes[rootIndex].Text.Equals(nc.Name))
                {
                    rootNode = new TreeNode(nc.Name);
                    tv.Nodes.Insert(rootIndex, rootNode);
                    mRootNodes[wrapper.Id].Add(nc.Name, rootNode);
                }
                else
                {
                    rootNode = mRootNodes[wrapper.Id][nc.Name];
                }

                ICollection <INetworkPeerRemote> peers = nc.KnownNetworkPeers;
                int i = 0;
                foreach (INetworkPeerRemote peer in peers)
                {
                    string peerId = peer.Id;
                    if (rootNode.Nodes.Count <= i || !rootNode.Nodes[i].Name.Equals(peerId))
                    {
                        TreeNode node = new TreeNode(string.Format("{0} ({1})", peerId, peer.Distance));
                        node.Tag  = peer;
                        node.Name = peerId;
                        mPeerNodes[wrapper.Id].Add(peer.Id, node);
                        rootNode.Nodes.Insert(i, node);
                        SetNodeFont(node, peer);
                    }
                    i++;
                }

                rootIndex++;
            }
        }
Exemple #3
0
        internal void wrapper_NetworkPeerDistanceChanged(object sender, NetworkPeerChangedEventArgs e)
        {
            if (InvokeRequired)
            {
                DistanceChanged d = new DistanceChanged(wrapper_NetworkPeerDistanceChanged);
                ((MasterForm)d.Target).Invoke(d, new object[] { sender, e });
                return;
            }

            Wrapper wrapper = (Wrapper)sender;

            LOGGER.Info("NetworkPeerDistanceChanged, HostId: " + wrapper.NetworkManager.Localhost.Id + ", Count: " + e.NetworkPeers.Count);

            Dictionary <string, TreeNode> nodes = mPeerNodes[wrapper.Id];

            foreach (INetworkPeerRemote peer in e.NetworkPeers)
            {
                TreeNode node = nodes[peer.Id];
                node.Text = string.Format("{0} ({1})", peer.Id, peer.Distance);
                SetNodeFont(node, peer);
            }
        }