public AmqpPrimitivesWriter(ArrayPool <byte> bufferPool, ObjectPoolArray <ReusableTempWriter> memStreamPool) { _bufferPool = bufferPool ?? ArrayPool <byte> .Create(BufferSize, 5); if (memStreamPool == null) { memStreamPool = new ObjectPoolArray <ReusableTempWriter>(() => { if (LogAdapter.ExtendedLogEnabled) { LogAdapter.LogDebug(LogSource, "Creating new writer"); } return(new ReusableTempWriter(ArrayPool <byte> .Create(BufferSize, 5), _memStreamPool)); }, 6, preInitialize: false); } _memStreamPool = memStreamPool; }