Exemplo n.º 1
0
        private void AddOrUpdate(TcpConnectionDescriptor connection, EndPointViewModel local, EndPointViewModel foreign)
        {
            TcpConnectionViewModel viewModel;

            if (!_connectionsToViewModel.TryGetValue(connection, out viewModel))
            {
                viewModel = new TcpConnectionViewModel(local, foreign, connection.State);
                _connectionsToViewModel.Add(connection, viewModel);
                _edges.Add(viewModel);
            }
        }
Exemplo n.º 2
0
        private EndPointViewModel AddOrUpdate(EndPoint endPoint, out bool added)
        {
            EndPointViewModel viewModel;

            if (!_endPointsToViewModel.TryGetValue(endPoint, out viewModel))
            {
                viewModel = new EndPointViewModel(endPoint);
                _endPointsToViewModel.Add(endPoint, viewModel);
                _nodes.Add(viewModel);
                added = true;
            }
            else
            {
                added = false;
            }

            return(viewModel);
        }
Exemplo n.º 3
0
        public void Update()
        {
            foreach (TcpConnectionDescriptor connection in _engine.AllConnections)
            {
                bool added;
                EndPointViewModel local = AddOrUpdate(connection.LocalEndPoint, out added);
                if (added)
                {
                    _edges.Add(new Edge {
                        Node1 = _localComputer, Node2 = local
                    });
                }

                bool unused;
                EndPointViewModel foreign = AddOrUpdate(connection.ForeignEndPoint, out unused);

                AddOrUpdate(connection, local, foreign);
            }
        }
Exemplo n.º 4
0
 public TcpConnectionViewModel(EndPointViewModel localEndPoint, EndPointViewModel foreign, TcpState state)
 {
     _localEndPoint   = localEndPoint;
     _foreignEndPoint = foreign;
     _state           = state;
 }