codecat / unet

Unified Lobby Networking library in C++, providing cross-play between Steam lobbies, Gog Galaxy lobbies, and Enet sockets.
MIT License
7 stars 1 forks source link

Allow cancelling joins #13

Open codecat opened 4 years ago

codecat commented 4 years ago

There's a couple problems with this:

First of all, Steam and Galaxy don't allow cancelling joins, which means the only possible way to "cancel" is by waiting for the join to succeed, and then immediately leave the lobby. This is definitely not ideal.

Secondly, this needs to be implemented as some kind of queue, in order to allow sequences like these:

  1. Join
  2. Leave
  3. Re-join the same lobby

This will have to be tested quite thoroughly. For example, what happens on each service if you try joining a lobby twice? What happens if you join 2 different lobbies?