mayton2019, читал, но не совсем понял как именно в моей ситуации действовать.
Собственно, должен ли я генерировать binding только к одному заголовочному файлу cool_lib.h или ко всем?
Да, теперь всё понятно.
Но из-за невозможности использовать std::mem::swap/std::mem::replace/std::mem::take использование Option по прежнему выглядит так себе.
Похоже это действительно так.
Почему же тогда после того как первое завершило работу, второе, уже ненужное соединение не разрывается за ненадобностью, а не по тайм-ауту?
Это выглядит не совсем правильно, поскольку оккупирует поток на сервере.
В добавок я проверил в Firefox, он не устанавливает дополнительного соединения как другие(Chrome, Yandex, Internet Explorer), там конечно тоже встретилось Dup ACK, но всё прошло как я и ожидал, без висячего второго соединения.
mayton2019, попробовал отправлять в ответе от сервера
Connection: Keep-Alive
Keep-Alive: max=2
и
Connection: Keep-Alive
Keep-Alive: max=1
Но это совсем ничего не меняет.
Да я и не хочу что-бы соединение поддерживалось после того как сервер ответит на первый запрос, поэтому и использую Connection: close
Как включается сторонние крейты?
В Cargo.toml указывается имя пакета-зависимости, а затем в использующем его крейте(src/main.rs) указывается название крейта который содержит пакет через extern crate crate_name, верно? Затем используется с помощью crate_name::some_func()?
А с точки зрения Си, если я объявлю обычный массив в Си uint32_t array_c[1024];, то будет ли он вести себя отлично от extern uint32_t array[]; который объявлен в ассемблере?