История изменений
Исправление KivApple, (текущая версия) :
Скорее всего можно. Под капотом send_ping вызывает asio::post.
Submits a completion token or function object for execution.
От функции с таким описанием ожидаешь thread safety, потому что явно один тред постит таски, а другой тред их исполняет (и, возможно, даже не один).
Но я бы на твоём месте создал Issue в репе проекта с просьбой указать в документации thread safety статус, потому что для человека со стороны это не очевидно и от явного указания (хотя бы в списке фич «All methods are thread safe» или «All methods except initialization are thread safe» или как там оно) мир станет лучше.
https://github.com/ipkn/crow/issues/244
Вон тут пишут, что каждый сокет привязан к своему треду по round robin модели и все callback для одного подключения будут вызваны на одном и том же треде. То есть теоретически авторы могут писать код методов класса подключения не потокобезопасно.
Исходная версия KivApple, :
Скорее всего можно. Под капотом send_ping вызывает asio::post.
Submits a completion token or function object for execution.
От функции с таким описанием ожидаешь thread safety, потому что явно один тред постит таски, а другой тред их исполняет (и, возможно, даже не один).
Но я бы на твоём месте создал Issue в репе проекта с просьбой указать в документации thread safety статус, потому что для человека со стороны это не очевидно.
https://github.com/ipkn/crow/issues/244
Вон тут пишут, что каждый сокет привязан к своему треду по round robin модели и все callback для одного подключения будут вызваны на одном и том же треде. То есть теоретически авторы могут писать код методов класса подключения не потокобезопасно.