1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00
Commit Graph

20 Commits

Author SHA1 Message Date
35954dc41b Simple workaround to fix vcmiserver shutdown procedure
At the moment, vcmilobby *requires* async writes in order to handle
multiple connections with different speeds and at optimal performance,
without hanging if one player is too slow and can't eat all data server
sent to him at once.

However server (and potentially - client) can not handle this mode and
may shutdown either socket or entire asio service too early, before all
writes are performed, leading to weird freeze on ending scenario where
client would not receive notifications about end of game.
2024-05-14 19:40:20 +00:00
6d08ec6323 More robust handling of connection errors
Fixes potentially hanging by heartbeat sockets
2024-05-12 19:13:17 +00:00
0403626c93 Fix excessive calls of steady_timer::async_wait 2024-05-11 16:10:07 +00:00
67604e1e01 Reapply "Simple implementation of heartbeat package"
This reverts commit ede92c1a9c.
2024-05-11 16:10:08 +00:00
4c3aac8f19 Use async_write to prevent locks if receiver is too slow 2024-05-11 16:09:03 +00:00
66e2e13ba1 Add few more safety checks to network connection logic 2024-05-07 08:34:47 +00:00
ede92c1a9c Revert "Simple implementation of heartbeat package"
This reverts commit 5f344e410a.
2024-05-07 08:31:08 +00:00
5f344e410a Simple implementation of heartbeat package 2024-04-30 22:44:31 +03:00
6901945b6e Fix possible thread race on sending packet from two threads 2024-02-25 20:05:28 +02:00
779625415f Guard against concurrent writes on same asio::socket instance 2024-02-19 13:47:06 +02:00
7dee24edae Cleanup 2024-02-03 23:30:16 +02:00
2c2bec791c Fixes and cleanup of game client network shutdown and restart 2024-02-03 19:27:04 +02:00
f97ffd8e9a Better handling of disconnects, code cleanup 2024-02-02 15:32:06 +02:00
29c0989849 Use std::byte to manage network data 2024-02-02 02:02:09 +02:00
80e960bc8e Finalized new TCP networking API 2024-01-19 23:52:28 +02:00
22f0ca67c6 Fix connection to game lobby & map load 2024-01-19 23:49:59 +02:00
0a1153e1c6 Switch client-server communication to new API 2024-01-19 23:49:59 +02:00
de5227142b Implemented message receiving / broadcasting 2024-01-19 23:49:59 +02:00
dff9cf39c0 Implemented connection handling 2024-01-19 23:49:59 +02:00
c2c43602ea Initial version of global lobby server available in client 2024-01-19 23:49:59 +02:00