Привет, кто-нибудь ktor клиентом парсил json массив с помощью kotlin serialization через JsonFeature? На сколько я понял из всего, он таки это делать ещё не умеет, только в ручную принимаем response.readText() и дальше json.parse(You_class.serializer().list, responsedText)?
Привет, кто-нибудь ktor клиентом парсил json массив с помощью kotlin serialization через JsonFeature? На сколько я понял из всего, он таки это делать ещё не умеет, только в ручную принимаем response.readText() и дальше json.parse(You_class.serializer().list, responsedText)?
Http клиент умеет, а tcp и udp работает с стринг и байт-массивом, который ты должен сам распарсить.
корутине на каждый suspend нужно создать Continuation, например. И обычно есть всякие обёртки, которые менеджат её состояние (смотрю сейчас на iterator{} и sequence{}).
Суть в том, что я пишу pull-style-штуку, похожую на операции на стримах/сиквенсах. Интересно, получаю ли что-нибудь кроме головной боли и свежих багов, если смёрдживаю обёртку и её содержимое без помощи корутин и разбираюсь с состоянием.
корутине на каждый suspend нужно создать Continuation, например. И обычно есть всякие обёртки, которые менеджат её состояние (смотрю сейчас на iterator{} и sequence{}).
Знаю. Интересно, начнут ли когда-нибудь переиспользовать континуэйшены...
Суть в том, что я пишу pull-style-штуку, похожую на операции на стримах/сиквенсах. Интересно, получаю ли что-нибудь кроме головной боли и свежих багов, если смёрдживаю обёртку и её содержимое без помощи корутин и разбираюсь с состоянием.
Ну ты это наверняка делаешь ради перфоманса. Но, как ты уже сказал, корректность круче производительности.)) Если не уверен, что сможешь за адекватный срок продебажить все кейсы - лучше возьми корутины.)
Ну да. Моя апишка, как и стримы, существует ради масштабируемости и должна уметь пропускать через себя горы данных и не кашлять. Хоть это почти никому и не нужно)