Alexander
Alexander
All connectors are thread-safe if used in `banana::api::*` methods. This is due to thread-safety of `request` method for `WinAPI`/`boost::beast`/`cpr` connectors (however, one can create non-thread-safe custom connector). It's worth mentioning...
Good idea. `cpp-httplib` is quite popular, so it's worth implementing a connector based on it **if possible.** PR are welcome! We could start with blocking-only connector.
I need to think it over better. Opinions from the outside will come in handy.
I'll add setters to all connectors (SSL, timeouts, etc..) > Regarding retries, one might say the programmer should handle it on the upper level. Indeed one can, but won't it...
I don't think there could be an implementation that fits everyone. At least, please, don't make it enabled by default, because: - Some properties may require heavy calculations - Automatically...
@niello by default `sol::function` passes lvalue reference arguments to lua by reference. Try to move arguments: ``` auto Result = Script(std::move(EntityID), std::move(CurrState), std::move(NextState)); ```
It's impossible, because raw pointer to function cannot have state other than its address. Use `std::function` instead.
В `static_assert` имя типа ничем не поможет, ибо он принимает вторым аргументом строго литерал.
> Для гарантии перед распадом в const char* можно добавить контракт/assert. Невозможно без UB проверить, является ли произвольный `std::string_view` нуль-терминированным.
> Понятно, что UB идёт от невозможности проверить, выделена ли память под view.data() + view.size(). Предлагаю также рассмотреть ситуацию, когда о куче не идёт и речи: ``` char c =...