gempir / go-twitch-irc

go irc client for twitch.tv
MIT License
357 stars 59 forks source link

Connection scaling #135

Open gempir opened 4 years ago

gempir commented 4 years ago

Currently go-twitch-irc uses 1 connection to read mesasges from TMI and write message to TMI.

It is rarely recommended to go above 100 channels on a single connection. This brings up the question if we should support connection scaling in go-twitch-irc directly which would mean we open more connections depending on how many chats we have joined.

I think we have discussed this once before and back then we decided this would be better to handle on application level instead of in this library. I'd like to rethink this because this could be a very cool feature and can be reused easily for a lot of projects.

At first I would only implement a very stupid scaling that would open a new connection each 50 channels and keeps them seperate. Maybe later we could have backup connections and seperate write connections.

From the client side nothing would change. The interface will be excatly the same and nobody has to adjust anything. Connections will automatically scale after 50 channels.

gempir commented 4 years ago

First draft https://github.com/gempir/go-twitch-irc/pull/144

Not ready to be tested or used at all though. Lot's of tests failing

Satont commented 1 year ago

Is there update on this?

gempir commented 1 year ago

No not really, never had enough motivation to implement it to the standard that I want