internal WriteBuffer([CanBeNull] NpgsqlConnector connector, Stream stream, int size, Encoding textEncoding)
{
if (size < MinimumBufferSize) {
throw new ArgumentOutOfRangeException(nameof(size), size, "Buffer size must be at least " + MinimumBufferSize);
}
Contract.EndContractBlock();
Connector = connector;
Underlying = stream;
Size = size;
UsableSize = Size;
_buf = new byte[Size];
TextEncoding = textEncoding;
_textEncoder = TextEncoding.GetEncoder();
}