// TODO(yanavlasov): This may not be optimal for all hardware configurations or traffic patterns and
// 4. There is enough unused space in the existing slice to accommodate the `other_slice` content.
void OwnedImpl::move(Instance& rhs, uint64_t length, bool reset_drain_trackers_and_accounting) {
if (reservable_size >= max_length || reservable_size >= (Slice::default_slice_size_ / 8)) {
ReservationSingleSlice OwnedImpl::reserveSingleSlice(uint64_t length, bool separate_slice) {
ReservationSingleSlice reservation = ReservationSingleSlice::bufferImplUseOnlyConstruct(*this);
reservation_slice = {slice_owner->owned_storage_.mem_.get(), static_cast<size_t>(length)};
ASSERT(dynamic_cast<OwnedImplReservationSlicesOwner*>(slices_owner_base.get()) != nullptr);
ssize_t OwnedImpl::search(const void* data, uint64_t size, size_t start, size_t length) const {
OwnedImpl::OwnedImpl(BufferMemoryAccountSharedPtr account) : account_(std::move(account)) {}