Example #1
0
        /// <summary>
        /// Adds a client model to this servers participant list
        /// </summary>
        /// <param name="clientModel"></param>
        public void AddClientModelToServer(ClientModel clientModel)
        {
            if (clientModel == null)
            {
                return;
            }

            ConnectedClientModelList.Add(clientModel.Id, clientModel);
        }
Example #2
0
        /// <summary>
        /// Remove the client from the server
        /// </summary>
        /// <param name="clientModel"></param>
        public void RemoveClientModelFromServer(ClientModel clientModel)
        {
            if (clientModel == null)
            {
                return;
            }

            if (ConnectedClientModelList.ContainsKey(clientModel.Id))
            {
                ConnectedClientModelList.Remove(clientModel.Id);
            }
        }
Example #3
0
        /// <summary>
        /// Gets the oldest client model (lowest ID) from the list.
        /// </summary>
        /// <returns></returns>
        public ClientModel GetOldestClientModelFromConnectedList()
        {
            // Create a list of the keys
            List <int> list = new List <int>(ConnectedClientModelList.Keys);

            // Check that there is at least on item in the list
            if (list.Count == 0)
            {
                return(null);
            }

            // Sort the list in ascending order
            list.Sort();

            // Retrieve the first (oldest) item in the list by smallest key value
            int oldestIndex = list[0];

            // Now retrieve the model from the dictionary
            ConnectedClientModelList.TryGetValue(oldestIndex, out var result);

            return(result);
        }