/// <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)); }