слушать gRPC stream и прокидывать в golang chan, но вот столкнулся со следующей странностью: я использую interface (msg) как параметр в stream.RecvMsg, который, насколько я понимаю, там и записывается через ссылку, но когда патыюсь засунуть msg в канал и считать (без time.Sleep на клиенте) - пропускается каждое второе сообщение. Но когда я сразу делаю log.Print - пишет все 3 сообщения.
Я предполагаю, что - msg не успевает считаться со стороны слушателя и перезаписывается новым сообщением. Тут возникает вопрос - как сделать Deep Copy (или хотя бы просто копию) интерфейса?
я рискну предположить, что НЕ НАДО принимать interface{}
Обсуждают сегодня