s }` выполнение всё равно пройдет в through? Ого
ну как я понимаю, выполнение не пройдёт, но создание файла идёт в рамках создания самого стрима. Хотя я могу ошибаться конечно
resource.open
м? Стоит обернуть весь стрим в resource чтобы отложить создание файла?
я не использую фс2, не знаю как именно он устроен и могу ошибаться, но writeAll генерирует Stream.resource и в доках есть такая строчка FS2 takes care to guarantee that any resources allocated by the Pull are released when the stream completes - посему я делаю вывод, что данный этап работает по принципу пулл - значит, что он сам спрашивает нет ли там новых данных и логика fs2 такова, что ресурс инициализируется через уже привычный паттерн брекетов до того как спросить и убедиться есть ли там чего.
выполнение пройдёт же, просто в файл поступит 0 байт
fs2 умеет в пуш? можно ли его заставить этап Stream.resource обернуть в пуш? или даже при пуше он все равно будет инициализировать его?
вам не нужно оборачивать в пуш, думаю
как избежать resource.open при отсутствии входных данных?
https://github.com/manatki/manatki/blob/master/fsfs/src/main/scala/manatki/fsfs/Pipes.scala#L8:L8 попробуйте такое through(Pipes.lzy(WriteAll...))
Обсуждают сегодня