Cogmasters / concord

A Discord API wrapper library made in C
https://cogmasters.github.io/concord/
MIT License
523 stars 30 forks source link

feat: zombie connection check #173

Closed ThePedroo closed 7 months ago

ThePedroo commented 8 months ago

Notice

What?

This PR introduces checks that ensures that the previous heartbeat was responded.

Why?

This avoids keeping a zombie connection, where the connection is over, however the client (Concord) is unaware of that for some reason. Heartbeats are meant for this, and should be used as it.

How?

This introduces a hbeat_answered field, that defines whether or not the previous heartbeat was answered/responded.

Testing?

Basic testing was done. However better testing should be done, and the code should be reviewed as well.

Anything Else?

While I believe it's important this PR, the reason for a lot of times Concord be unaware of closes may be to cws. I'll investigate further.