UnsafeBufferSequence
This class is a helper to write to a  IBufferWriter<T> in a thread safe manner.
            It uses the shared pool to allocate buffers and returns them to the pool when disposed.
            Since there is no way to ensure someone didn't keep a reference to one of the buffers
            it must be disposed of in the same context it was created and its referenced should not be stored or shared.
            
                
Initializes a new instance of  UnsafeBufferSequence.
            
Notifies the  UnsafeBufferSequence that bytes bytes were written to the output  Span<T> or  Memory<T>.
            You must request a new buffer after calling  Advance to continue writing more data; you cannot write to a previously acquired buffer.
            
Disposes the SequenceWriter and returns the underlying buffers to the pool.
            
Returns a  Memory<T> to write to that is at least the requested size, as specified by the sizeHint parameter.
            
Returns a  Span<T> to write to that is at least the requested size, as specified by the sizeHint parameter.