@dadair where do you create your channels? I'm creating mine in the init-key function and closing them in the halt-key method.
Pretty sure I do the exact same thing, trying to find them atm
do you return them in to the state?
Yeah, so I do a very naive setup (could be smarter around not closing during resets)
(defmethod ig/init-key ::raw-input-queue [_ {:keys [logger buffer-size]}]
(logger/log logger :report ::constructing-raw-input-queue {:size buffer-size})
(async/chan (async/dropping-buffer buffer-size)))
(defmethod ig/halt-key! ::raw-input-queue [_ chan]
(when chan (async/close! chan)))
Looks very similar, maybe need to do some more debugging. Thanks
My guess is your functions have a handle on an old channel somehow
Would you mind reiterating the problem? The logs don't show it for me.
@weavejester it was posted in the core async channel
I realized what I did wrong... I did not do the way @dadair did and creating the channels in side the init-key. I created them inside the state map. After moving them everything works perfect!