chronoxor / NetCoreServer

Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
https://chronoxor.github.io/NetCoreServer
MIT License
2.63k stars 550 forks source link

Buffer.Reserve Wrong Condition? #292

Open SamanKia opened 5 months ago

SamanKia commented 5 months ago

Hi. I don't get first line in your reserve method? is this a type or I miss something? Debug.Assert((capacity >= 0), "Invalid reserve capacity!");

/// <summary>
/// Reserve the buffer of the given capacity
/// </summary>
public void Reserve(long capacity)
{
    Debug.Assert((capacity >= 0), "Invalid reserve capacity!");
    if (capacity < 0)
        throw new ArgumentException("Invalid reserve capacity!", nameof(capacity));

    if (capacity > Capacity)
    {
        byte[] data = new byte[Math.Max(capacity, 2 * Capacity)];
        Array.Copy(_data, 0, data, 0, _size);
        _data = data;
    }
}
chronoxor commented 5 months ago

https://stackoverflow.com/questions/129120/when-should-i-use-debug-assert