public void SetBuffer(int receiveBufferSize, int sendBufferSize, ArraySegment <byte> buffer) { ThrowIfReadOnly(); if (receiveBufferSize <= 0) { throw new ArgumentOutOfRangeException(nameof(receiveBufferSize), receiveBufferSize, SR.Format(SR.net_WebSockets_ArgumentOutOfRange_TooSmall, 1)); } if (sendBufferSize <= 0) { throw new ArgumentOutOfRangeException(nameof(sendBufferSize), sendBufferSize, SR.Format(SR.net_WebSockets_ArgumentOutOfRange_TooSmall, 1)); } WebSocketValidate.ValidateArraySegment(buffer, nameof(buffer)); if (buffer.Count == 0) { throw new ArgumentOutOfRangeException(nameof(buffer)); } _receiveBufferSize = receiveBufferSize; _sendBufferSize = sendBufferSize; _buffer = buffer; }