Closed joekaram closed 1 month ago
Please provide an explanation of what this feature could be used for.
I have a use case, discussion, in which I would like to have the channels that have active connections, accessible from other processes.
I tried creating a Redis channel manager, that implements ChannelManager
and ChannelConnectionManager
contracts:
ChannelManager
was complicated as the Redis client is executing asynchronously and returning promises. Using React\Async\await(...)
breaks on the destructor when Reverb dispatches other jobs (e.g: PruneStaleConnections
) due to the error Cannot switch fibers in destructor.
. ChannelConnectionManager
wouldn't work cause connections can't be serialized and stored in Redis. Therefore, I added the two events so I can listen to them and manage a copy of those connections, outside of the framework, to serve my purpose.
If there's any other suggestion or way to achieve this, would really appreciate it!!
This PR adds two events: