Description
This project already supports detecting closed connections when receiving a close event. On top of this, to account for situations where the socket connection may die silently (e.g. due to power outage or network failure), we should also consider a connection dead if we don't receive any response to an outstanding request within a timeout period (default could be 600s?).
It's important to note that Redis employs request/response semantics, and the server is expected to send response messages in a timely manner. That being said, requests such as BLPOP
with larger timeout values can take significantly longer.
Out of scope: Redis also allows sending regular heartbeat/ping messages to keep the connection alive if there is no activity for a certain time, but we employ an idle connection time for this case anyway (see #130 / #118).
Refs clue/reactphp-eventsource#37, #132 and others
We welcome contributions, reach out if you want to support this project or become a sponsor ❤️