Functionality to send a connection request -> it being accepted/denied -> (if accepted) connection established and maintained through heartbeat messages -> disconnect.
Disconnection detection through missing heartbeats (or other packets?) is also needed.
[ ] Maintain connection states (e.g. disconnected, connecting, connected).
[ ] Connections are set up by a request and an accept response.
[ ] Connection requests can be rejected (e.g. due to no free slots).
[ ] Timeout inactive connections.
[ ] Disconnection should also state a reason message (e.g. Kicked, Timed out).
This also makes up the part of the reliability functionality (#49) as it relies on state per peer-to-peer connection.
Heartbeat messages should not be required as there should already be a steady stream of messages between the clients anyway. If the need arises it can be implemented later.
Functionality to send a connection request -> it being accepted/denied -> (if accepted) connection established and maintained through heartbeat messages -> disconnect.
Disconnection detection through missing heartbeats (or other packets?) is also needed.
Kicked
,Timed out
).This also makes up the part of the reliability functionality (#49) as it relies on state per peer-to-peer connection.
Heartbeat messages should not be required as there should already be a steady stream of messages between the clients anyway. If the need arises it can be implemented later.