matrix-org / matrix-appservice-irc

Node.js IRC bridge for Matrix
Apache License 2.0
465 stars 150 forks source link

Support splitting out connections to another process. #1669

Closed Half-Shot closed 1 year ago

Half-Shot commented 1 year ago

Part of #1661

This code refactors a large part of the bridge to support re-using connections on restart, by handling the underlying sockets that the bridge uses in another connection and using Redis to store state and pass messages between the bridge and the other process.

This PR introduces several new classes and types under pool-service/, which are meant to be injected nearly transparently into the bridge without the need for major refactors.

Finally, this PR is HEAVILY WIP and still needs a lot of work to be merged in (large parts of the code have been commented out to make the PoC work, but will be fixed soon)

poVoq commented 1 year ago

Is there a way to run the connection pool in a separate Docker container?