Size: a a a

Kotlin Community

2020 November 02

AN

Alexander Nozik in Kotlin Community
А, стоп, вижу. Там стоит автоматический релиз на полное вычитывание, так что все-таки что-то поменяли.
источник

AN

Alexander Nozik in Kotlin Community
Тогда может быть не прав.
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
сервер
окей, в сервере payload релизиться после завершения метода handler-a - это да, потому что так проще, если его надо передать куда-то, чтобы оно использовалось вне метода - делайте copy
это поведение будет отражено в доке, когда она будет :)

и всё равно, в этом случае, этот BRP будет просто пустой, но не corrupted

на клиенте же, просто возвращается Payload - и там уже пользователь сам решает, когда ему из него вычитать, здесь как-то обезопасить сложно
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
окей, в сервере payload релизиться после завершения метода handler-a - это да, потому что так проще, если его надо передать куда-то, чтобы оно использовалось вне метода - делайте copy
это поведение будет отражено в доке, когда она будет :)

и всё равно, в этом случае, этот BRP будет просто пустой, но не corrupted

на клиенте же, просто возвращается Payload - и там уже пользователь сам решает, когда ему из него вычитать, здесь как-то обезопасить сложно
По хорошему надо сделать тест, где payload уносится из скоупа и запрашивается через много-много циклов.
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
По хорошему надо сделать тест, где payload уносится из скоупа и запрашивается через много-много циклов.
а зачем много раз запрашивать то?
он всё равно будет пустой всегда
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
а зачем много раз запрашивать то?
он всё равно будет пустой всегда
Не, я имею в виду не пустой. Мне надо лезть глубоко к вам в код чтобы понять, как вы его вычитываете и не будет ли там преждевременной отдачи в пул. Кстати, если там действительно релиз на вычитку, у вас получается возможна утечка памяти если пользователь недочитывает пакеты
источник

OY

Oleg Yukhnevich in Kotlin Community
> преждевременной отдачи в пул.
для сервера - отдача в пул будет при завершении метода (или если метод возвращает flow, то до его завершения)
если сделать copy - то отдачи в пул не будет, пока пользователь не вычитает/зарелизит копию
для клиента - когда клиент вычитает/зарелизит его

в других случаях всё должно работать как надо

>  Кстати, если там действительно релиз на вычитку, у вас получается возможна утечка памяти если пользователь недочитывает пакеты
если Вы точнее опишите use-case я смогу понять, что исправлять, если нужно
источник

AN

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

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
> преждевременной отдачи в пул.
для сервера - отдача в пул будет при завершении метода (или если метод возвращает flow, то до его завершения)
если сделать copy - то отдачи в пул не будет, пока пользователь не вычитает/зарелизит копию
для клиента - когда клиент вычитает/зарелизит его

в других случаях всё должно работать как надо

>  Кстати, если там действительно релиз на вычитку, у вас получается возможна утечка памяти если пользователь недочитывает пакеты
если Вы точнее опишите use-case я смогу понять, что исправлять, если нужно
Я еще поытакаю, я пока только серверную часть завез
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
Я еще поытакаю, я пока только серверную часть завез
👍
буду ждать фитбек
источник

KD

Konstantin Dovnar in Kotlin Community
А почему в документации по Api нет ссылки на исходники?
Или я найти не могу?

Как пример: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
👍
буду ждать фитбек
У меня видимо еще будет вопрос, как сырой сервер делать. У меня есть странная идея одновременно запускать ктор с вебсокетом и сырой сервер на tcp
источник

AN

Alexander Nozik in Kotlin Community
Konstantin Dovnar
А почему в документации по Api нет ссылки на исходники?
Или я найти не могу?

Как пример: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/
Со времен 1.1 нету. Потому что мультиплатформа
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
У меня видимо еще будет вопрос, как сырой сервер делать. У меня есть странная идея одновременно запускать ктор с вебсокетом и сырой сервер на tcp
источник

AN

Alexander Nozik in Kotlin Community
А, спасиб. Я этот пример читал, но до туда не дочитал
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
А, спасиб. Я этот пример читал, но до туда не дочитал
пока доки нет, то пишите, буду стараться помогать :)
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
пока доки нет, то пишите, буду стараться помогать :)
Чего-то не вижу serverTransport, оно случаем не в 0.11 появилось? Я еще на 0.10
источник

AN

Alexander Nozik in Kotlin Community
В общем, мне не критично пока. налажу на вебсокетах, потом перепишу если что
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
Чего-то не вижу serverTransport, оно случаем не в 0.11 появилось? Я еще на 0.10
да, надо 0.11.0-SNAPSHOT
источник

AN

Alexander Nozik in Kotlin Community
подожду тогда. Логику напишу, потом буду красоту наводить
источник