from the doc:
BytesMut represents a unique view into a potentially shared memory region. Given the uniqueness guarantee, owners of BytesMut handles are able to mutate the memory.
BytesMut can be thought of as containing a buf: Arc<Vec>, an offset into buf, a slice length, and a guarantee that no other BytesMut for the same buf overlaps with its slice. That guarantee means that a write lock is not required.
- why multiple owners of BytesMut can mutate the memory concurrently?
- why a write lock is not required?
- how is it implemented?