The ChannelFactory of today is a 300+ lines implementation that hold a channel pool and takes recovery of channels and connection into consideration, has dynamic pool scaling capabilities etc. Here's the vision for this re-write:
Smaller classes, single responsibility design. Separate pooling capabilities to specialized classes. The "scale up" and "scale down" functionality should be contained in a more specialized class etc.
The
ChannelFactory
of today is a 300+ lines implementation that hold a channel pool and takes recovery of channels and connection into consideration, has dynamic pool scaling capabilities etc. Here's the vision for this re-write:ConnectToBroker()
calls from the constructor. This ties in the discussion in https://github.com/pardahlman/RawRabbit/issues/268#issuecomment-331789569.