169 похожих чатов

Задачка. Вот есть кусок кода. MutableSharedFlow используется как eventLoop и

все бы хорошо, но проблема в том, что при двунаправленном канале получается, что все события в том числе возвращаются отправителю. Можно ли этого как-то избежать?

11 ответов

18 просмотров
Alexander-Nozik Автор вопроса

Пока ограничился тем, что просто вставил там фильтр (спасибо @why_oleg за то, что учел в API результат дискуссий и добавили initPayload).

Alexander Nozik
Пока ограничился тем, что просто вставил там фильт...

не только я принимал решение, но да, без этого очень сложно из котлина юзать requestChannel 🙁

Alexander-Nozik Автор вопроса
Oleg Yukhnevich
не только я принимал решение, но да, без этого оче...

Потому, что сложно отщепить один элемент?

Oleg Yukhnevich
угу

все решения выглядят не очень котлин-way, либо через канал, что тоже не очень котлин-way

Alexander-Nozik Автор вопроса
Oleg Yukhnevich
все решения выглядят не очень котлин-way, либо чер...

Не, там не сложно на самом деле, делается специальный объект типа flow с дополительным suspend fun first(), но не сказал бы, что это красиво

Alexander Nozik
Не, там не сложно на самом деле, делается специаль...

да, проблемы написать это нет, проблема в том, что выглядит не очень

о, сериализация я в процессе написания обёртки для rSocket и спользованием kotlinx.serialization что бы код, что вот там, выглядит был примерно вот так: ``` requestStream(MagixMessageFilter.serializer(), genericMessageSerializer) { filter -> magixFlow.filter(filter) } fireAndForget(genericMessageSerializer) { message -> magixFlow.emit(message) } // bi-directional connection requestChannel(genericMessageSerializer, genericMessageSerializer) { input -> input.onEach { magixFlow.emit(it) }.launchIn(this@magixAcceptor) magixFlow } ``` stay tuned 🙂 как будет что-то рабочее где-то в ветке, могу написать

Alexander-Nozik Автор вопроса
Oleg Yukhnevich
о, сериализация я в процессе написания обёртки для...

Ага, это здорово. Хотя не критично, потому что это ровно одно место, и там можно и руками прописать.

Alexander Nozik
Ага, это здорово. Хотя не критично, потому что это...

понимаю там конечно чуть по больше всего будет (и сервер, и клиент) так что если сервер/клиент строится по верх рсокет с роутингом там, или ещё чем, то будет приятнее делать это

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта