нашел... есть проблема:
существует n горутин-клиентов и m-горутин обработчиков, горутина-клиент может отправить в какой-то тип запрос (даже через канал, это не так важно) и получить из того же типа ответ. мне кажется, что здесь нужен какой-то пул сообщений, который имеет два метода Ask(messageID, question) answer and Answer(messageID, answer), но мне что-то подсказывает, что я переизобретаю велосипед
Есть ли какие-то готовые решения единой шины сообщений с поддержкой интерфейса запросов?
дык и возвращайте тоже в канале
меня напрягает, что аллоцируется аж 2 канала в котором отправится лишь по одному сообщению, звучит не очень эффективно
если там всегда только по одному сообщению, то почему бы не сделать простую функцию без каналов и т.п.?
потому что есть одна горутина, которая обращается к некоей штуке, которая может работать только синхронно
как выглядит эта некая штука?
как udp сервер, например, или как файл uart устройства, который единовременно принимает только одно сообщение
делайте chan на запрос, ответ... и не парьтесь не такие дорогие они как кажутся
как можно сделать двусторонний канал, который блокируется до получения ответа? это раз два, вопрос был в том, что может уже есть что-то готовое
лучше разные chan, может готовые обертки для этого уже есть, я не встречал, подобное сам пишу
Обсуждают сегодня