Пример #1
0
        /// <summary>
        /// remove server node
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">name is null or empty</exception>
        public bool UnRegisterNode(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("name");
            }

            SocketConnector node = null;

            SocketBase.IConnection connection = null;
            lock (this)
            {
                //remove node by name,
                if (this._dicNodes.TryGetValue(name, out node))
                {
                    this._dicNodes.Remove(name);
                }
                //get connection by name.
                this._dicConnections.TryGetValue(name, out connection);
            }

            if (node != null)
            {
                node.Stop();
            }
            if (connection != null)
            {
                connection.BeginDisconnect();
            }
            return(node != null);
        }