Ejemplo n.º 1
0
        protected internal UnpooledHeapByteBuffer(IByteBufferAllocator alloc, byte[] initialArray, int maxCapacity)
            : base(maxCapacity)
        {
            if (alloc is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.alloc);
            }
            if (initialArray is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.initialArray);
            }

            if (initialArray.Length > maxCapacity)
            {
                ThrowHelper.ThrowArgumentException_InitialCapacity(initialArray.Length, maxCapacity);
            }

            _allocator = alloc;
            SetArray(initialArray);
            SetIndex0(0, initialArray.Length);
        }
        public UnpooledUnsafeDirectByteBuffer(IByteBufferAllocator alloc, int initialCapacity, int maxCapacity)
            : base(maxCapacity)
        {
            if (alloc is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.alloc);
            }
            if ((uint)initialCapacity > SharedConstants.TooBigOrNegative)
            {
                ThrowHelper.ThrowArgumentException_PositiveOrZero(initialCapacity, ExceptionArgument.initialCapacity);
            }
            //if ((uint)maxCapacity > SharedConstants.TooBigOrNegative) { ThrowHelper.ThrowArgumentException_PositiveOrZero(maxCapacity, ExceptionArgument.maxCapacity); }

            if ((uint)initialCapacity > (uint)maxCapacity)
            {
                ThrowHelper.ThrowArgumentException_InitialCapacity(initialCapacity, maxCapacity);
            }

            _allocator = alloc;
            SetByteBuffer(NewArray(initialCapacity), false);
        }
        protected UnpooledUnsafeDirectByteBuffer(IByteBufferAllocator alloc, byte[] initialBuffer, int maxCapacity, bool doFree)
            : base(maxCapacity)
        {
            if (alloc is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.alloc);
            }
            if (initialBuffer is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.initialBuffer);
            }

            int initialCapacity = initialBuffer.Length;

            if ((uint)initialCapacity > (uint)maxCapacity)
            {
                ThrowHelper.ThrowArgumentException_InitialCapacity(initialCapacity, maxCapacity);
            }

            _allocator = alloc;
            _doNotFree = !doFree;
            SetByteBuffer(initialBuffer, false);
        }
Ejemplo n.º 4
0
        public UnpooledUnsafeDirectByteBuffer(IByteBufferAllocator alloc, int initialCapacity, int maxCapacity)
            : base(maxCapacity)
        {
            if (alloc is null)
            {
                ThrowHelper.ThrowArgumentNullException(ExceptionArgument.alloc);
            }
            if (initialCapacity < 0)
            {
                ThrowHelper.ThrowArgumentException_PositiveOrZero(initialCapacity, ExceptionArgument.initialCapacity);
            }
            if (maxCapacity < 0)
            {
                ThrowHelper.ThrowArgumentException_PositiveOrZero(maxCapacity, ExceptionArgument.maxCapacity);
            }

            if (initialCapacity > maxCapacity)
            {
                ThrowHelper.ThrowArgumentException_InitialCapacity(initialCapacity, maxCapacity);
            }

            _allocator = alloc;
            SetByteBuffer(NewArray(initialCapacity), false);
        }