Играюсь тут с libuv. Вот код. По замыслу это пока просто ехо-сервер по UDP — на всё, что ему шлешь, отвечает «hello».
С приёмом всё ОК.
С отправкой не ОК.
Допустим, в строках 84, 85 и 86 аллоцируется память для буфера перед отправкой. В строке 94 этот буфер отправляется, после отправки вызывается коллбек, который начинается со строки 42.
А теперь внимание, вопросы: почему в том хендле, который отдаётся коллбеку, указатель на буфер NULL (строка 46 и 47)? И почему в то же время количество этих буферов в том же хендле ненулевое? Как я должен освобождать память буфера, если мне не дают на него указатель? Какой смысл тогда в коллбеке on_send? И почему тогда тот же трюк для on_read работает нормально?