Size: a a a

Kotlin Community

2020 March 02

AN

Alexander Nozik in Kotlin Community
Ринг буффекр нашел, но таки нужен не он, а именно FIFO
источник

AN

Alexander Nozik in Kotlin Community
Досад. На случай, если будет читать начальство. Юз-кейс такой. Есть канал на отправку, который нельзя ни в коем случае суспендидть (на входе железка). Также нельзя делать бесконечный канал потому что может быть ситуация, когда потребитель отвалился. Но хочется, что бы потребитель имел возможность "догнать".
источник

AN

Alexander Nozik in Kotlin Community
источник

VP

Vladimir Petrakovich in Kotlin Community
А для чего именно такое поведение, что когда потребитель не успевает, сохраняются N старых событий, и одно последнее?
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
Ринг буффекр нашел, но таки нужен не он, а именно FIFO
https://github.com/Kotlin/kotlinx.coroutines/pull/1716
вот кстати есть что-то похожее, что надо
источник

VP

Vladimir Petrakovich in Kotlin Community
Можно было бы взять conflated, из него перекидывать в буфер, а уже оттуда вычитывать.
Но изначальная затея кажется странной.
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
А для чего именно такое поведение, что когда потребитель не успевает, сохраняются N старых событий, и одно последнее?
Н последних
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Н последних
В issue формулировка " evict last one, when new value arrives"
источник

VP

Vladimir Petrakovich in Kotlin Community
То есть если потребитель встал, все события кроме последнего будут старыми
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
В issue формулировка " evict last one, when new value arrives"
Имелось в виду oldest. Сейчас аоправлю
источник

VP

Vladimir Petrakovich in Kotlin Community
А это разве не ring buffer в чистом виде?
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
А это разве не ring buffer в чистом виде?
Ну да, но ринг буффер все хранит, а мне RandomAccess не нужен, достаточно очереди
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Ну да, но ринг буффер все хранит, а мне RandomAccess не нужен, достаточно очереди
Ну как всё, старое-то перезаписывается
источник

VP

Vladimir Petrakovich in Kotlin Community
Но это не так уж и важно
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Ну как всё, старое-то перезаписывается
Все, в смысле доступ по индексу
источник

AN

Alexander Nozik in Kotlin Community
Но да, ринг буфер пойдет. Просто ринг буфер дороговат, а linked queue можно очень дёшево сделать.
источник

VP

Vitaly Peryatin in Kotlin Community
Почему не получается передать адаптер в качестве аргумента?
источник

VP

Vitaly Peryatin in Kotlin Community
источник

VP

Vitaly Peryatin in Kotlin Community
источник

AL

Alexander Levin in Kotlin Community
Я не абсолютно уверен, но там не out вместо in должно быть в setAdapter? (HolidayViewHolder наверное наследник ViewHolder, но не предок)
источник