Подскажите можно ли из Vec<Vec<u8>> получить слайс всех данных &[u8]

без реалокации? Или хотя бы ридер. Помнится мне что вроде что то делал без костылей но не помню как

12 ответов

9 просмотров

fn flatten(self) -> Flatten<Self> ?

Дмитрий-Бондаренко Автор вопроса
MUTbKA
fn flatten(self) -> Flatten<Self> ?

Подойдет для поведения итератора. Слайс тут никак не получить? Нужно реализовать метод возвращающий слайс

у тебя не получится из Vec<Vec<u8>> сделать просто &[u8] (без аллокаций) даже если данные идут попорядку, ты не забывай что Vec еще носит в себе usize+capacity_usize+сами_данные_на_которые_ты_надеешься

Денис Котляров
у тебя не получится из Vec<Vec<u8>> сделать просто...

даже если ты выдумаешь предварительно сделать &[&[u8]] то у тебя всеравно в каждом останется usize

Дмитрий Бондаренко
Подойдет для поведения итератора. Слайс тут никак ...

возвращай итератор) а кому надо - из итератора сделают слайс

Дмитрий-Бондаренко Автор вопроса
Serge Barinov
возвращай итератор) а кому надо - из итератора сде...

Да у меня как бы массив буферов заполняется асинхронно и его нужно дальше передать как единый буфер. Так как буферы большие хотел избежать релокацию.

ты хочешь trait read да?.. ты по идее можешь сделать итератор в итераторе.. так как есть такой impl Read for &[u8] а вообще это все напоминает tcp/udp тоесть его эффективную версию с IoSliceMut и любое другое..

Дмитрий-Бондаренко Автор вопроса
Денис Котляров
ты хочешь trait read да?.. ты по идее можешь сдел...

Нужна реализация hyper::body::Buf в принциме можно реализовать его из массива буферов, но тут прийдется рефселы прикрутить

Дмитрий Бондаренко
Подойдет для поведения итератора. Слайс тут никак ...

я делаю функцию с итератором по вектору, внутри итератора if на ключ и возврат слайса. Но я начинающий, возможно это не оптимально.

А не лучше будет хранить без вложености? Но предоставить интерфейс для эмуляции вложиности. При этом хранить зоны слайсов в виде вектора пар?

Дмитрий-Бондаренко Автор вопроса
ChzChz
А не лучше будет хранить без вложености? Но предос...

Как то очень заумно. ну я как бы планировал еще на деструктор поцепить возврат буферов в пул. Сам чанк будет передаватся во владение ридеру.

Похожие вопросы

Обсуждают сегодня

а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
Всем привет, может уже кто-то пытался выдернуть из api информацию о дате рождения пользователя Есть ли вообще такая возможность?
Artem Stormageddon
2
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
Кто нибудь поясните это всё таки вброс или да? Про санктум слышал на поедб вбросили, а по дурке откуда инфа и на сколько это вообще правда? Пахнет шизофренией какой-то ✅Divi...
Dmitry Ritter
9
Ребята, я за проф советом😅 По микросервисам. В монолите есть общие файлы для сервисов: фетчи, конфиги, либы, утилсы.. как при распиле правильно их поддерживать? Пока вариант д...
Александр Тарасюк
1
Карта сайта