             newBytes.reserveCapacity(capacity)
             _ = newBytes.writeBytes(self._storage.viewBytes(at: r, length: w - r))
             self._storage = newBytes
+            self._storage.markAllReadable()
             self.moveHead(to: 0)
             self.moveTail(to: w - r)
             

    
    init(allocator: ByteBufferAllocator, capacity: Int) {
        self._storage = allocator.buffer(capacity: capacity)
    }
    
    /// The number of bytes available to read.

        }
        
        // single write, should be straightforward
        self.withVeryUnsafeBytes { ptr in
            let targetAddr = UnsafeMutableRawPointer(mutating: ptr.baseAddress!.advanced(by: self._ringTail))
            let target = UnsafeMutableRawBufferPointer(start: targetAddr, count: bytes.count)
            target.copyBytes(from: bytes)
