/// <summary>
 /// Tries to read a pending incoming message from any connection without blocking.
 /// </summary>
 /// <returns>Whether a message was successfully read.</returns>
 public bool TryReadMessage([MaybeNullWhen(false)] out NetIncomingMessage message)
 {
     if (ReleasedIncomingMessages.TryDequeue(out message))
     {
         return(true);
     }
     return(false);
 }
        /// <summary>
        /// Tries to read pending incoming messages from any connection.
        /// </summary>
        /// <param name="destination">The collection to which append messages.</param>
        /// <returns>The amount of messages read.</returns>
        public int TryReadMessages(ICollection <NetIncomingMessage> destination)
        {
            if (destination == null)
            {
                throw new ArgumentNullException(nameof(destination));
            }

            if (destination.IsReadOnly)
            {
                throw new ArgumentException("The collection is read-only.");
            }

            return(ReleasedIncomingMessages.TryDrain(destination));
        }